fork download
  1. #include<bits/stdc++.h>
  2. #define M 100010
  3. using namespace std;
  4. typedef long long int ll;
  5. int n,nc=0;
  6. bool op=false;
  7. string cmd[M],punc[M];
  8. int dfs(int x) {
  9. cout<<x<<" | ";
  10. if (op) return 0;
  11. if (x>=nc) {
  12. cout<<"Error Occured";
  13. op=true;
  14. return 0;
  15. }
  16. if (cmd[x]=="int") return x;
  17. punc[x]+="<";
  18. int nxt;
  19. nxt=dfs(x+1);
  20. punc[nxt]+=",";
  21. nxt=dfs(nxt+1);
  22. punc[nxt]+=">";
  23. return nxt;
  24. }
  25. void f() {
  26. cout<<"ERROR BITCH";
  27. return;
  28. }
  29. int main() {cout<<"YO";
  30. std::terminate_handler set_terminate( std::terminate_handler f );
  31. cin>>n;nc=0;
  32. int i;
  33. for (i=0;n>0;i++) {
  34. punc[i]="";
  35. cin>>cmd[i];
  36. nc++;
  37. if (cmd[i]=="int") n--;
  38. }
  39. dfs(0);cout<<endl;
  40. if (!op) {
  41. for (int i=0;i<nc;i++) cout<<cmd[i]<<punc[i];
  42. }
  43. }
Runtime error #stdin #stdout 0.01s 4200KB
stdin
3
pair pair pair int int
stdout
YO