Advertisement
lmarioza

Untitled

Aug 20th, 2017
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.18 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2. #define F first
  3. #define S second
  4. #define mp make_pair
  5. #define pb push_back
  6. #define INF 0x3f3f3f3f
  7. #define LINF 0x3f3f3f3f3f3f3f3fLL
  8.  
  9. using namespace std;
  10. typedef long long ll;
  11. typedef vector<int> vi;
  12. typedef set<int> si;
  13. typedef pair<int,int> ii;
  14. typedef vector<ii> vii;
  15. typedef map<string,int> msi;
  16. typedef map<int,int> mi;
  17.  
  18. int main(){
  19.     int n;
  20.     cin >>n;
  21.     for(int caso =1;caso<=n;caso++){
  22.         string in;
  23.         cin >> in;
  24.         string code;
  25.         cin >> code;
  26.         char mem[100010];
  27.         int p=0;
  28.         int inDex=0;
  29.         stack<int> loop;
  30.         memset(mem,0,sizeof mem);
  31.         cout << "Instancia "<<caso<<"\n";
  32.         for(int i=0;i<code.size();i++){
  33.             //printf("%c %c",code[i],mem[p]);
  34.             switch(code[i]){
  35.                 case '>':p++;
  36.                 break;
  37.                 case '<':p--;
  38.                 break;
  39.                 case '+':mem[p]++;
  40.                 break;
  41.                 case '-':mem[p]--;
  42.                 break;
  43.                 case ',':
  44.                     mem[p] = in[inDex];
  45.                     inDex++;
  46.                 break;
  47.                 case '.':cout<<mem[p];
  48.                 break;
  49.                 case '[':loop.push(i);
  50.                 break;
  51.                 case ']':
  52.                     if(mem[p]==0)loop.pop();
  53.                     else i=loop.top();
  54.                 break;
  55.                 case '#':
  56.                     for(int j=0;j<10;j++) cout << mem[j];
  57.                 break;
  58.             }
  59.         }
  60.         cout << "\n\n";
  61.     }
  62.     return 0;
  63. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement