#include <iostream>
using namespace std;
bool a[150][150];
bool b[150];
bool c[150];
int m;
int dfs(int n){
cout<<n<<' ';
b[n]=1;
for(int i=1;i<=m;i++){
if(a[n][i]&&!b[i]){
dfs(i);
}
}
return 0;
}
int main(){
cin>>m;
for(int i=1;i<=m;i++){
while(1){
int x;
cin>>x;
if(!x)break;
a[i][x]=1;
c[x]=1;
}
}
int beg;
for(int i=1;i<=m;i++){
if(c[i]==0){
beg=i;
break;
}
}
dfs(beg);
return 0;
}
P3364的题
这
DFS写的,咋写挂了?