1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 #include<stack> 5 using namespace std; 6 int map[101][101]; 7 stack<int>s; 8 int rudu[101]; 9 int main() 10 { 11 int n; 12 scanf("%d",&n); 13 for(int i=1;i<=n;i++) 14 { 15 int a; 16 while(scanf("%d",&a)) 17 { 18 if(a==0)break; 19 map[i][a]=1; 20 rudu[a]++; 21 } 22 } 23 for(int i=1;i<=n;i++) 24 { 25 if(rudu[i]==0) 26 { 27 s.push(i); 28 } 29 } 30 while(s.size()!=0) 31 { 32 int p=s.top(); 33 s.pop(); 34 printf("%d ",p); 35 for(int i=1;i<=n;i++) 36 { 37 if(map[p][i]==1) 38 { 39 rudu[i]--; 40 if(rudu[i]==0)s.push(i); 41 } 42 } 43 } 44 return 0; 45 }