记录编号 575835 评测结果 AAAAAAAAAAAAAAAAAAAA
题目名称 [HNOI 2015]菜肴制作 最终得分 100
用户昵称 Gravatar00000 是否通过 通过
代码语言 C++ 运行时间 0.871 s
提交时间 2022-09-28 20:45:45 内存使用 6.03 MiB
显示代码纯文本
#include<bits/stdc++.h>
#define ll long long
using namespace std;
int d,n,m;
vector<int> g[200000];
int h[200000],ans[200000],aa;
priority_queue<int> f;
int main(){
	freopen("dishes.in","r",stdin);
	freopen("dishes.out","w",stdout);
cin>>d;
while(d--)
{
	aa=0;
	memset(h,0,sizeof(h));
	memset(g,0,sizeof(g));
	cin>>n>>m;
	for(int q=1;q<=m;q++)
	{
		int x,y;
		cin>>x>>y;
		g[y].push_back(x);
		h[x]++;
	}
	for(int q=1;q<=n;q++)
	if(!h[q]) f.push(q);
	while(f.size())
	{
		int z=f.top();f.pop();
		ans[++aa]=z;
		for(int q:g[z])
		{
			h[q]--;
			if(h[q]==0) f.push(q);
		}
	}
	int flag=0;
	for(int q=1;q<=n;q++)
	if(h[q]) flag=1;
	if(flag) cout<<"Impossible!";
	else for(int q=aa;q>0;q--) cout<<ans[q]<<" ";
	cout<<endl;
}
return 0;
}