在别的网站上(具体网站不透露)能 AC
#include<bits/stdc++.h>
using namespace std ;
vector<int> G[100005] ;
bool f[100005] ;
bool vis[100005] ;
void dfs(int root)
{
cout << root << " " ;
vis[root] = 1 ;
for( int i = 0 ; i < G[root].size() ; i++ )
{
int v = G[root][i] ;
if(vis[v] == 0) dfs(v) ;
}
}
int main()
{
int n ;
cin >> n ;
for( int i = 1 ; i <= n ; i++ )
{
int a ;
cin >> a ;
while(a != 0)
{
G[i].push_back(a) ;
f[a] = 1 ;
cin >> a ;
}
}
int root ;
for( int i = 1 ; i <= n ; i++ )
{
if(f[i] == 0)
{
root = i ;
break ;
}
}
dfs(root) ;
return 0 ;
}