AC

Bryson  •  2天前


#include <bits/stdc++.h>
using namespace std;
vector<int>g[10005];
int vis[10005];
queue<int>q;
int main() {
	int n;
	cin>>n;
	for(int i=1;i<=n;i++){
		int x;
		cin>>x;
		while(x!=0){
			g[i].push_back(x);
			vis[x]++;
			cin>>x;
		}
	}
	for(int i=1;i<=n;i++)
		if(vis[i]==0)q.push(i);
	while(!q.empty()){
		int u=q.front();
		cout<<u<<" ";
		q.pop();
		for(int v:g[u]){
			vis[v]--;
			if(vis[v]==0)q.push(v);
		}
	}
	return 0;
}


评论:

哇,毕浩轩,好——强——呀——


pilot128  •  2天前

请先登录,才能进行评论