fork download
  1. #include<stdio.h>
  2. int g[10][10],v[10],st[10],top=-1,n;
  3.  
  4. void dfs(int u)
  5. {
  6. v[u]=1;
  7.  
  8. for(int i=0;i<n;i++)
  9. if(g[u][i] && !v[i])
  10. dfs(i);
  11.  
  12. st[++top]=u;
  13. }
  14.  
  15. int main()
  16. {
  17. scanf("%d",&n);
  18.  
  19. for(int i=0;i<n;i++)
  20. for(int j=0;j<n;j++)
  21. scanf("%d",&g[i][j]);
  22.  
  23. for(int i=0;i<n;i++)
  24. if(!v[i]) dfs(i);
  25.  
  26. while(top!=-1)
  27. printf("%d ",st[top--]);
  28.  
  29. return 0;
  30. }
Success #stdin #stdout 0.01s 5316KB
stdin
Standard input is empty
stdout
Standard output is empty