fork download
  1.  
  2. #include "stdafx.h"
  3.  
  4. using namespace std;
  5. #include <vector>
  6. #include <stack>
  7.  
  8. typedef vector<int> Vi;
  9. typedef vector<Vi> Gi;
  10. typedef stack<int> Si;
  11. typedef vector<bool> Vb;
  12.  
  13. Gi grafo, grafoRev;
  14. Si pila, pilaRev;
  15. Vb visitado, visitadoRev;
  16.  
  17. int N, M, u, v, p;
  18.  
  19. void DFS(int nodo)
  20. {
  21. visitado[nodo] = true;
  22.  
  23. for (int i = 0; i < grafo[nodo].size(); i++)
  24. {
  25. if (!visitado[grafo[nodo][i]])
  26. DFS(grafo[nodo][i]);
  27. }
  28.  
  29. pila.push(nodo);
  30. }
  31.  
  32. void DFS_Rev(int nodo)
  33. {
  34. visitadoRev[nodo] = true;
  35.  
  36. for (int i = 0; i < grafoRev[nodo].size(); i++)
  37. {
  38. if (!visitadoRev[grafoRev[nodo][i]])
  39. DFS_Rev(grafoRev[nodo][i]);
  40. }
  41.  
  42. pilaRev.push(nodo);
  43. }
  44.  
  45. int main()
  46. {
  47. /*
  48. 4 5
  49. 1 2 1
  50. 1 3 2
  51. 2 4 1
  52. 3 4 1
  53. 4 1 2
  54. 3 2
  55. 1 2 2
  56. 1 3 2
  57. 3 2
  58. 1 2 2
  59. 1 3 1
  60. 4 2
  61. 1 2 2
  62. 3 4 2
  63. 0 0
  64. */
  65.  
  66. while (true)
  67. {
  68. scanf("%d %d", &N, &M);
  69.  
  70. if (N == 0 && M == 0)
  71. break;
  72.  
  73. grafo = Gi(N);
  74. grafoRev = Gi(N);
  75.  
  76. visitado = Vb(N);
  77. visitadoRev = Vb(N);
  78.  
  79. for (int i = 0;i < M;i++)
  80. {
  81. scanf("%d %d %d", &u, &v, &p);
  82.  
  83. u--; v--;
  84.  
  85. if (p == 1)
  86. {
  87. grafo[u].push_back(v);
  88. grafoRev[v].push_back(u);
  89. }
  90. else {
  91. grafo[u].push_back(v);
  92. grafoRev[v].push_back(u);
  93. grafo[v].push_back(u);
  94. grafoRev[u].push_back(v);
  95. }
  96. }
  97.  
  98.  
  99. for (int i = 0;i < N;i++)
  100. {
  101. if (!visitado[i])
  102. DFS(i);
  103. }
  104.  
  105. DFS_Rev(pila.top());
  106. printf("%d\n", pilaRev.size == N ? 1 : 0);
  107.  
  108. }
Compilation error #stdin compilation error #stdout 0s 0KB
stdin
4 5
1 2 1
1 3 2
2 4 1
3 4 1
4 1 2
3 2
1 2 2
1 3 2
3 2
1 2 2
1 3 1
4 2
1 2 2
3 4 2
0 0
compilation info
prog.cpp:2:20: fatal error: stdafx.h: No such file or directory
 #include "stdafx.h"
                    ^
compilation terminated.
stdout
Standard output is empty