比赛题求调(第三道题20分)
  • 板块灌水区
  • 楼主KingGojianOfYue
  • 当前回复2
  • 已保存回复2
  • 发布时间2023/8/12 18:09
  • 上次更新2023/11/3 04:14:38
查看原帖
比赛题求调(第三道题20分)
765376
KingGojianOfYue楼主2023/8/12 18:09
#include<bits/stdc++.h>
using namespace std;
int n,l;
vector<string>q;
bool f;
char c[200001][20];
string s;
bool have(){
	for(int h=0;h<l;h++){
		if(s==q[h])return true;
	}return false;
};
int x;
int main()
{
	scanf("%d",&n);
	for(int k=0;k<n;k++){
		std::cin>>c[k];
		if(c[k][0]=='s'){
			if(l==0){printf("Error\n");}
			else{
				if(x==1){
					q.push_back(q[0]);
					q.erase(q.begin());
				}else if(x==2){
					q.push_back(q[0]);
					q.erase(q.begin());
					q.push_back(q[0]);
					q.erase(q.begin());
				}
				if(!f){
					if(l==1){printf("%s\n",q[0].c_str());x=1;}
					else{
						printf("%s %s\n",q[0].c_str(),q[1].c_str());
						q.push_back(q[0]);
						q.push_back(q[1]);
						q.erase(q.begin());q.erase(q.begin());
						x=2;
					}f=true;
				}else{
					if(l==1){printf("%s\n",q[0].c_str());x=1;}
					else if(l==2){printf("%s\n",q[0].c_str());x=2;}
					else{
						printf("%s %s\n",q[0].c_str(),q[1].c_str());x=2;
						q.erase(q.begin());q.erase(q.begin());
					}
				}
			}
		}else if(c[k][0]=='a'){
			std::cin>>s;
			if(!have()){
				printf("OK\n");
				q.push_back(s);l++;
			}else{
				printf("Error\n");
			}
		}else if(c[k][0]=='l'){
			std::cin>>s;
			if(!have()||l<=2||q[0]==s||q[1]==s)printf("Error\n");
			else{
				printf("OK\n");
				for(int i=2;i<l;i++){
					if(q[i]==s)q.erase(q.begin()+i);
				}l--;
			}
		}
	}
	return 0;
}
2023/8/12 18:09
加载中...