五颜六色...
#include<bits/stdc++.h>
using namespace std;
int main(){
string code="";
char ch;
while(ch!='$'){ch=getchar();code+=ch;}
vector<char>zhidai;
int p=0;
stack<int>sta;
zhidai.resize(10);
for(int i=0;i<(int)code.size();i++){
switch(code[i]){
case '>':{
p++;
if((int)zhidai.size()<p){
int temp=p-(int)zhidai.size();
for(int j=0;j<=temp;j++) zhidai.push_back(0);
}
break;
}
case '<':{
p--;
if(p<0){cout<<"Error:visiting beyond boundaries."<<endl;return 0;}
break;
}
case '+':{
zhidai[p]=(zhidai[p]+1)%256;
break;
}
case '-':{
zhidai[p]=(zhidai[p]-1)%256;
break;
}
case '.':{
cout<<(char)zhidai[p];
break;
}
case ',':{
char temp;
cin>>temp;
zhidai[p]=temp;
break;
}
case '[':{
sta.push(i);
break;
}
case ']':{
if(zhidai[p]==0) sta.pop();
else i=sta.top();
break;
}
default:break;
}
}
return 0;
}