fork download
  1. #include <stdio.h>
  2.  
  3. #define N 8
  4.  
  5. int graph[N][N] = {
  6. {0,1,1,0,0,0,0,0},
  7. {0,0,1,1,0,0,0,0},
  8. {0,0,0,1,1,0,0,0},
  9. {0,0,0,0,1,1,0,0},
  10. {0,0,0,0,0,1,1,0},
  11. {0,0,0,0,0,0,1,1},
  12. {0,0,0,0,0,0,0,1},
  13. {0,0,0,0,0,0,0,0}
  14. };
  15.  
  16. int visited[N];
  17.  
  18. void dfs(int v)
  19. {
  20. int i;
  21.  
  22. visited[v] = 1;
  23. printf("%d ", v);
  24.  
  25. for(i = 0; i < N; i++)
  26. {
  27. if(graph[v][i] == 1 && visited[i] == 0)
  28. {
  29. dfs(i);
  30. }
  31. }
  32. }
  33.  
  34. int main(void)
  35. {
  36. int i;
  37.  
  38. for(i = 0; i < N; i++)
  39. visited[i] = 0;
  40.  
  41. printf("一筆書きルート\n");
  42.  
  43. dfs(0);
  44.  
  45. printf("\n");
  46.  
  47. return 0;
  48. }
Success #stdin #stdout 0s 5320KB
stdin
Standard input is empty
stdout
一筆書きルート
0 1 2 3 4 5 6 7