Source code for submission s798

Go to diff to previous submission

fn.cpp

  1. #include <iostream>
  2. #include <vector>
  3. #include <cstdio>
  4. #include <cmath>
  5. #include <set>
  6. #include <map>
  7. #include <string>
  8.  
  9. using namespace std;
  10.  
  11. vector< vector<int> > G;
  12. bool marked[1000000];
  13. bool ok = false;
  14. int good;
  15.  
  16. void dfs(int v)
  17. {
  18. if(G[v].size() >= 4)
  19. ok = true;
  20. else if(G[v].size() == 3)
  21. good++;
  22.  
  23. if(good == 2)
  24. ok = true;
  25.  
  26. if(ok)
  27. return;
  28.  
  29. marked[v] = true;
  30.  
  31. for(int i=0; !ok && i<G[v].size(); i++)
  32. {
  33. int u = G[v][i];
  34. if(marked[u])
  35. continue;
  36. dfs(u);
  37. }
  38. }
  39.  
  40. int main()
  41. {
  42. int N, M;
  43. while(scanf("%d %d", &N, &M) == 2)
  44. {
  45. G = vector< vector<int> >(N);
  46. for(int i=0; i<N; i++)
  47. {
  48. G[i] = vector<int>();
  49. marked[i] = false;
  50. }
  51. for(int i=0; i<M; i++)
  52. {
  53. int x, y;
  54. scanf("%d %d", &x, &y);
  55. --x;
  56. --y;
  57. G[x].push_back(y);
  58. G[y].push_back(x);
  59. }
  60. ok = false;
  61. for(int i=0; !ok && i<N; i++)
  62. {
  63. good = 0;
  64. if(!marked[i])
  65. dfs(i);
  66. }
  67. if(!ok)
  68. puts("NO");
  69. else
  70. puts("YES");
  71. }
  72.  
  73. return 0;
  74. }
  75.  

Diff to submission s761

fn.cpp

--- c5.s761.cteam036.fn.cpp.0.fn.cpp
+++ c5.s798.cteam036.fn.cpp.0.fn.cpp
@@ -12,6 +12,7 @@
 bool marked[1000000];
 bool ok = false;
+int good;
 
-void dfs(int v, int good)
+void dfs(int v)
 {
         if(G[v].size() >= 4)
@@ -33,5 +34,5 @@
                 if(marked[u])
                         continue;
-                dfs(u,good);
+                dfs(u);
         }
 }
@@ -60,6 +61,7 @@
                 for(int i=0; !ok && i<N; i++)
                 {
+                        good = 0;
                         if(!marked[i])
-                                dfs(i,0);
+                                dfs(i);
                 }
                 if(!ok)