fork(3) download
  1. #include<cstdio>
  2. #include<iostream>
  3. #include<stack>
  4. #include<cstring>
  5. using namespace std;
  6. int G[10][10],n;
  7. void dfs(int strt)
  8. {
  9. int vis[n];
  10. memset(vis,0,sizeof vis);
  11. stack<int>st;
  12. st.push(strt);
  13. while(!st.empty())
  14. {
  15. int pre=st.top();st.pop();
  16.  
  17. if(!vis[pre])
  18. {
  19. cout<<pre<<" ";
  20. vis[pre]=1;
  21. for(int i=n-1;i>=0;i--)
  22. {
  23.  
  24. if(G[pre][i]==1 and !vis[i])
  25. {
  26. st.push(i);
  27. }
  28. }
  29. }
  30. }
  31. cout<<endl;
  32. }
  33. int main()
  34. {
  35. int t;
  36. cin>>t;
  37. while(t--)
  38. {
  39. cin>>n;
  40. for(int i=0;i<n;i++)
  41. for(int j=0;j<n;j++)
  42. cin>>G[i][j];
  43. dfs(2);
  44. }
  45. }
Success #stdin #stdout 0s 2868KB
stdin
2
4
0 1 1 0
0 0 1 0
1 0 0 1
0 0 0 1
5
0 1 0 1 1
0 0 0 1 0
1 1 0 0 0
0 0 1 0 1
1 0 0 0 0
stdout
2 0 1 3 
2 0 1 3 4