Source code for submission s851

Go to diff to previous submission

fn.cpp

  1. #include <cstdio>
  2. #include <cmath>
  3. #include <iostream>
  4. #include <cstring>
  5. #include <cstdlib>
  6. #include <set>
  7. #include <map>
  8.  
  9. using namespace std;
  10.  
  11. int main()
  12. {
  13. int points, lines;
  14. while (scanf("%d %d", &points, &lines) == 2)
  15. {
  16. std::map<int, std::set<int> > connections;
  17. bool x = false;
  18. int f, s;
  19. while (lines--)
  20. {
  21. scanf("%d %d", &f, &s);
  22. connections[s].insert(f);
  23. connections[f].insert(s);
  24. if (connections[s].size() >= 4)
  25. {
  26. printf("YES\n");
  27. x = true;
  28. break;
  29. }
  30. if (connections[f].size() >= 4)
  31. {
  32. printf("YES\n");
  33. x = true;
  34. break;
  35. }
  36. }
  37. if (lines > 0)
  38. while (lines--) scanf("%d %d", &f, &s);
  39. if (!x)
  40. printf("NO\n");
  41. }
  42.  
  43. return 0;
  44. }
  45.  

Diff to submission s812

fn.cpp

--- c5.s812.cteam044.fn.cpp.0.fn.cpp
+++ c5.s851.cteam044.fn.cpp.0.fn.cpp
@@ -4,4 +4,6 @@
 #include <cstring>
 #include <cstdlib>
+#include <set>
+#include <map>
 
 using namespace std;
@@ -11,8 +12,7 @@
 {
         int points, lines;
-        int counts[10000];
         while (scanf("%d %d", &points, &lines) == 2)
         {
-                memset(counts, 0, sizeof(*counts) * points);
+                std::map<int, std::set<int> > connections;
                 bool x = false;
                 int f, s;
@@ -20,5 +20,7 @@
                 {
                         scanf("%d %d", &f, &s);
-                        if (++counts[f - 1] == 4)
+                        connections[s].insert(f);
+                        connections[f].insert(s);
+                        if (connections[s].size() >= 4)
                         {
                                 printf("YES\n");
@@ -26,5 +28,5 @@
                                 break;
                         }
-                        if (++counts[s - 1] == 4)
+                        if (connections[f].size() >= 4)
                         {
                                 printf("YES\n");