爆蛋求调
  • 板块P9518 queue
  • 楼主problemThief
  • 当前回复4
  • 已保存回复4
  • 发布时间2023/10/6 16:16
  • 上次更新2023/11/2 15:13:57
查看原帖
爆蛋求调
1018563
problemThief楼主2023/10/6 16:16
#include <queue>
#include <iostream>
using namespace std;

int n;
queue <string> que;
string first, second;
string a[100005], name[100005];
void start(){
	if(que.empty()) cout << "Error" << endl;
	first = que.front();
	que.pop();
	second = que.front();
	que.pop();
	cout << first << " " << second << endl;
	que.push(first);
	que.push(second);
}
void arrive(int i){
	for(int j = 1; j <= n; j++)
		if(name[i] == name[j]){
			cout << "Error" << endl;
			return;
		}
	que.push(name[i]);
	cout << "OK" << endl;
}

int main(){
	cin >> n;
	for(int i = 1; i <= n; i++){
		cin >> a[i];
		if(a[i] != "start") cin >> name[i];
		if(a[i] == "start") start();
		if(a[i] == "arrive") arrive(i);
		if(a[i] == "leave"){
			if(name[i] != first && name[i] != second){
				cout << "OK" << endl;
				name[i] = "";
			}
			else
			    cout << "Error" << endl;
		}
	}
	return 0;
}
2023/10/6 16:16
加载中...