16分求调
查看原帖
16分求调
542633
ma_yu_chen_楼主2025/1/24 23:29
#include <bits/stdc++.h>
using namespace std;
#define ll long long
const int N=1e5+5;
int n,m;
int rd[N],ans[N],cnt;
int a;
vector<int> g[N];
queue<int> q;
int main(){
	cin>>n;
	for(int i=1;i<=n;i++){
		while(cin>>a){
			if(a==0) break;
			g[i].push_back(a);
			rd[i]++;
		}
	}
	for(int i=1;i<=n;i++){
		if(rd[i]==0){
			q.push(i);
			cout<<i<<' ';
		}
	}
	while(q.size()){
		int h=q.front();
		q.pop();
		for(int i=0;i<g[h].size();i++){
			int t=g[h][i];
			rd[t]--;
			if(rd[t]==0){
				q.push(t);
				cout<<t<<' ';
			}
		}
	}
	return 0;
}
2025/1/24 23:29
加载中...