五颜六色
  • 板块P2027 bf
  • 楼主Magic_ant
  • 当前回复0
  • 已保存回复0
  • 发布时间2024/7/6 22:06
  • 上次更新2024/7/7 09:32:50
查看原帖
五颜六色
1366352
Magic_ant楼主2024/7/6 22:06

五颜六色...

#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;
}
2024/7/6 22:06
加载中...