WA了
查看原帖
WA了
1042716
Ranboo楼主2024/7/10 16:38

#7错了

dalao帮忙看看(期待

#include<bits/stdc++.h>
using namespace std;
vector<int>a[100001],ans;
priority_queue<int>q;
int cnt[100001],s;
void top(){
	int u,v;
	while(!q.empty()){
		u=q.top();
		q.pop();
		for(int i=0;i<a[u].size();i++){
			v=a[u][i];
			cnt[v]--;
			if(!cnt[v]){
				q.push(v);
				s++;
			}
		}
		ans.push_back(u);
	}
	return ;
}
int main(){
	int t,n,m,u,v;
	cin>>t;
	while(t){
		s=0;
		memset(cnt,0,sizeof(cnt));
		ans.clear();
		for(int i=1;i<=n;i++) a[i].clear();
		cin>>n>>m;
		for(int i=1;i<=m;i++){
			cin>>u>>v;
			cnt[u]++;
			a[v].push_back(u);
		}
		for(int i=1;i<=n;i++){
			if(!cnt[i]) q.push(i);
		}
		if(q.empty()){
			cout<<"Impossible!"<<endl;
			t--;
			continue;
		}
		top();
		for(int i=n-1;i>=0;i--) cout<<ans[i]<<" ";
		cout<<endl;
		t--;
	}
	return 0;
}

2024/7/10 16:38
加载中...