社区讨论

4个点超时了,求大佬改进

P9518queue参与者 2已保存回复 4

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
4 条
当前快照
1 份
快照标识符
@lo1vnlcp
此快照首次捕获于
2023/10/23 03:44
2 年前
此快照最后确认于
2023/11/03 04:13
2 年前
查看原帖
CPP
#include <bits/stdc++.h>
using namespace std;
int main() 
{
    int n;
	scanf("%d",&n);
	vector<string> queue;//排队的队伍
	vector<string> queue_w;//游戏队伍
    for (int i=0;i<=n;i++) 
	{
        string event;
        getline(cin, event);
        if(event=="start") 
		{
			if(!queue_w.empty())//有人在玩游戏,就把他们赶回到队伍末尾
            {
           		if(queue_w.size()==1)
                {
                	queue.push_back(queue_w[0]);
                	queue_w.clear();
				}
				if(queue_w.size()==2)
                {
                	queue.push_back(queue_w[0]);
                	queue.push_back(queue_w[1]);
                	queue_w.clear();
				}
			}
            if(queue.size()>=2)//两人以上排队
			{
				cout<<queue[0]<<' '<<queue[1]<<"\n";
				queue_w.push_back(queue[0]);//进入游戏队伍
				queue_w.push_back(queue[1]);
                queue.erase(queue.begin());
                queue.erase(queue.begin());
            } 
			else if(!queue.empty()) //一人排队
			{
                cout<<queue[0]<<"\n";
				queue_w.push_back(queue[0]);
                queue.erase(queue.begin());
            } 
			else cout<<"Error"<<"\n";
        } 
		else if(event.substr(0, 6)=="arrive") 
		{
            string name=event.substr(7);
            if(find(queue.begin(),queue.end(),name)==queue.end()&&find(queue_w.begin(),queue_w.end(),name)==queue_w.end()) //找不到人
			{
                queue.push_back(name);
                cout<<"OK"<<"\n";
            } 
			else cout<<"Error"<<"\n";
        } 
		else if(event.substr(0, 5)=="leave") 
		{
            string name=event.substr(6);
            if(find(queue.begin(),queue.end(),name)!=queue.end()&&find(queue_w.begin(),queue_w.end(),name)==queue_w.end()) //排队队伍找到了人
			{
                queue.erase(find(queue.begin(), queue.end(), name));
                cout<<"OK"<<"\n";
            } 
			else cout<<"Error"<<"\n";
        }
    }
    return 0;
}

回复

4 条回复,欢迎继续交流。

正在加载回复...