#include<bits/stdc++.h>
using namespace std;
vector<int>mapp[150];
int n;
int in[150];
bool cir;
void sort_topo(){
queue<int>q;
for(int i=1;i<=n;i++){
if(in[i]==0){
q.push(i);
}
}
while(!q.empty()){
int topo1=q.front();
int sizen=sizeof(mapp[topo1]);
printf("%d ",topo1);
q.pop();
for(int i=0;i<sizen;i++){
in[mapp[topo1][i]]--;
if(in[mapp[topo1][i]]==0){
q.push(i);
}
}
}
}
int main(){
scanf("%d",&n);
for(int i=1;i<=n;i++){
while(1){
int x;
scanf("%d",&x);
if(x!=0){
mapp[i].push_back(x);
in[x]++;
}
else break;
}
}
sort_topo();
return 0;
}
感觉是输入有问题,有大佬帮忙调一下吗