#include<bits/stdc++.h>
using namespace std;
int n,m;
int head[105]={0},nxt[105],tot,ind[105];
int ver[105];
int ans[105],cnt;
void add(int x,int y)
{
ind[y]++,ver[++tot]=y;
nxt[tot]=head[x],head[x]=tot;
}
void topo()
{
queue<int>q;
for(int i=1;i<=n;i++)
{
if(!ind[i]) q.push(i);
}
while(!q.empty())
{
int x=q.front();
cout<<x<<' ';
q.pop();
ans[++cnt]=x;
for(int i=head[x];i;i=nxt[i])
{
int y=ver[i];
ind[y]--;
if(!ind[y]) q.push(y);
}
}
}
int main()
{
cin>>n;
for(int i=1;i<=n;i++)
{
while(cin>>m)
{
if(m==0) break;
add(i,m);
}
}
topo();
return 0;
}
错误原因:回答错误。错误的输出格式意外的文件结尾-应为int32