STL做法 WA 求调
查看原帖
STL做法 WA 求调
552286
流光萤影楼主2023/8/24 11:34
#include<bits/stdc++.h>
using namespace std;
vector<int> _pos,_who;
int fa[1000005],n,m,t,status[1000005];
string op;
int main()
{
	ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);
	for(register int cnt(1);cin >> m && m;++cnt)
	{
		_pos.clear(),_who.clear();
		memset(fa,0,sizeof fa);
		memset(status,0,sizeof 0);
		if(cnt > 1) cout << "\n";
		for(register int i(1),tmp,n;i <= m;++i)
		{
			cin >> n;
			for(;n;--n) cin >> tmp,fa[tmp] = i;
		}
		cout << "Scenario #" << cnt << "\n";
		for(register int x;cin >> op && op != "STOP";)
		{	
			if(op == "ENQUEUE")
			{
				cin >> x;
				if(status[fa[x]])
				{
					for(register int i(0);i < _pos.size();++i)
					{
						if(_pos[i] == fa[x])
						{
							while(i < _pos.size() && _pos[i] == fa[x]) ++i;
							_pos.insert(_pos.begin()+i,fa[x]),_who.insert(_who.begin()+i,x);
							break;
						}
					}
				}
				else _pos.emplace_back(fa[x]),_who.emplace_back(x);
				++status[fa[x]];
			}
			else cout << _who.front() << "\n",--status[_pos.front()],_pos.erase(_pos.begin()),_who.erase(_who.begin());
		}
	}
}
2023/8/24 11:34
加载中...