Source code for submission s1058

Go to diff to previous submission

fn.cpp

  1. #include <cstdio>
  2. #include <iostream>
  3. #include <vector>
  4.  
  5. class point
  6. {
  7. public:
  8. std::vector<int> conn;
  9. };
  10.  
  11. int main()
  12. {
  13. int n = 0, m = 0;
  14. while( scanf( "%d %d\n", &n, &m ) == 2 )
  15. {
  16. point p[10000];
  17. int aux =0, aux2= 0;
  18.  
  19. for ( register int i = 0; i < m; i++ )
  20. {
  21. scanf("%d %d\n", &aux, &aux2 );
  22. p[aux -1 ].conn.push_back( aux2 -1 );
  23. p[aux2-1].conn.push_back( aux-1 );
  24. }
  25.  
  26. bool deg = false;
  27. int state = 0;
  28. std::vector<int> deg3;
  29. for ( register int i = 0; i < n; i++ )
  30. {
  31.  
  32. if ( p[i].conn.size() == 0 )
  33. {
  34. state = -1;
  35. break;
  36. }
  37. else if ( p[i].conn.size() > 3 )
  38. {
  39. state = 1;
  40. break;
  41. }
  42. else if ( p[i].conn.size() == 3 )
  43. {
  44. deg = true;
  45. deg3.push_back( i );
  46. }
  47. }
  48.  
  49. switch( state )
  50. {
  51. case -1 :
  52. std::cout << "NO" << std::endl;
  53. break;
  54. case 1 :
  55. std::cout << "YES" << std::endl;
  56. break;
  57. default:
  58. {
  59. if ( !deg || deg3.size() < 2 )
  60. {
  61. std::cout << "NO" << std::endl;
  62. }
  63. else
  64. {
  65. bool bunny = false;
  66.  
  67. for ( register unsigned int i = 0; i < deg3.size(); i++ )
  68. {
  69. int len = 0;
  70. for ( register unsigned int j = 0; j < deg3.size(); j++ )
  71. {
  72. len = 0;
  73. for ( register unsigned int k = 0; k < 2; k++ )
  74. {
  75. for ( register unsigned int q = 0; q < 2; q++ )
  76. {
  77. if ( p[deg3[i]].conn[k] == p[deg3[j]].conn[q] )
  78. {
  79. len++;
  80. }
  81. }
  82. }
  83. }
  84.  
  85. if ( len <= 1 )
  86. {
  87. bunny = true;
  88. break;
  89. }
  90. }
  91.  
  92. if ( bunny )
  93. std::cout << "YES" << std::endl;
  94. else
  95. std::cout << "NO" << std::endl;
  96. }
  97. } break;
  98.  
  99. }
  100.  
  101.  
  102.  
  103.  
  104.  
  105. }
  106.  
  107.  
  108. return 0;
  109. }

Diff to submission s1052

fn.cpp

--- c5.s1052.cteam063.fn.cpp.0.fn.cpp
+++ c5.s1058.cteam063.fn.cpp.0.fn.cpp
@@ -50,8 +50,8 @@
                 {
                         case -1 :
-                                std::cout << "No" << std::endl;
+                                std::cout << "NO" << std::endl;
                         break;
                         case 1 :
-                                std::cout << "Yes" << std::endl;
+                                std::cout << "YES" << std::endl;
                         break;
                         default:
@@ -59,5 +59,5 @@
                                 if ( !deg || deg3.size() < 2 )
                                 {
-                                        std::cout << "No" << std::endl;
+                                        std::cout << "NO" << std::endl;
                                 }
                                 else
@@ -91,7 +91,7 @@
                                         
                                         if ( bunny )
-                                                std::cout << "Yes" << std::endl;
+                                                std::cout << "YES" << std::endl;
                                         else
-                                                std::cout << "No" << std::endl;
+                                                std::cout << "NO" << std::endl;
                                 }
                         } break;