Source code for submission s694

Go to diff to previous submission

FN.java

  1.  
  2. import java.io.BufferedReader;
  3. import java.io.IOException;
  4. import java.io.InputStreamReader;
  5. import java.util.ArrayList;
  6. import java.util.HashMap;
  7. import java.util.HashSet;
  8. import java.util.List;
  9. import java.util.Map;
  10. import java.util.Set;
  11.  
  12. /*
  13.  * To change this template, choose Tools | Templates
  14.  * and open the template in the editor.
  15.  */
  16. /**
  17.  *
  18.  * @author cteam94
  19.  */
  20. public class FN {
  21.  
  22. Map<Integer, Set<Integer>> map = new HashMap<Integer, Set<Integer>>();
  23.  
  24. public static void main(String[] args) throws IOException {
  25.  
  26.  
  27. while ((new FN()).readLine(br));
  28. }
  29.  
  30. public boolean readLine(BufferedReader br) throws IOException {
  31. String line = br.readLine();
  32. if (line == null) {
  33. return false;
  34. }
  35.  
  36. map = new HashMap<Integer, Set<Integer>>();
  37.  
  38. String[] sp = line.split(" ");
  39. int n1 = Integer.parseInt(sp[0]);
  40. int n2 = Integer.parseInt(sp[1]);
  41.  
  42. for (int i = 1; i <= n1; i++) {
  43. map.put(i, new HashSet<Integer>());
  44. }
  45.  
  46. for (int i = 0; i < n2; i++) {
  47. String ln = br.readLine();
  48. String[] sp2 = ln.split(" ");
  49. int u = Integer.parseInt(sp2[0]);
  50. int v = Integer.parseInt(sp2[1]);
  51.  
  52. Set<Integer> l = map.get(u);
  53. l.add(v);
  54.  
  55. l = map.get(v);
  56. l.add(u);
  57. }
  58.  
  59. //System.out.println(map);
  60.  
  61. for (Map.Entry<Integer, Set<Integer>> entry : map.entrySet()) {
  62. int c = 0;
  63. Integer integer = entry.getKey();
  64. Set<Integer> list = entry.getValue();
  65. for (Integer v : list) {
  66. if (isPow(v)) {
  67. c++;
  68. }
  69.  
  70. }
  71. if (c == 4) {
  72. System.out.println("YES");
  73. return true;
  74. }
  75. }
  76. System.out.println("NO");
  77.  
  78. return true;
  79. }
  80.  
  81. public boolean isPow(int x) {
  82. if (map.get(x).size() == 1) {
  83. return true;
  84. }
  85. return false;
  86. }
  87. }
  88.  

Diff to submission s633

FN.java

--- c5.s633.cteam094.fn.java.0.FN.java
+++ c5.s694.cteam094.fn.java.0.FN.java
@@ -5,6 +5,8 @@
 import java.util.ArrayList;
 import java.util.HashMap;
+import java.util.HashSet;
 import java.util.List;
 import java.util.Map;
+import java.util.Set;
 
 /*
@@ -18,27 +19,30 @@
  */
 public class FN {
-    Map<Integer, List<Integer>> map = new HashMap<Integer, List<Integer>>();
-    
+
+    Map<Integer, Set<Integer>> map = new HashMap<Integer, Set<Integer>>();
+
     public static void main(String[] args) throws IOException {
         BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        
-        
-        while((new FN()).readLine(br));
+
+
+        while ((new FN()).readLine(br));
     }
-    
+
     public boolean readLine(BufferedReader br) throws IOException {
         String line = br.readLine();
-        if (line == null) return false;
-        
-        map = new HashMap<Integer, List<Integer>>();
-        
+        if (line == null) {
+            return false;
+        }
+
+        map = new HashMap<Integer, Set<Integer>>();
+
         String[] sp = line.split(" ");
         int n1 = Integer.parseInt(sp[0]);
         int n2 = Integer.parseInt(sp[1]);
-        
+
         for (int i = 1; i <= n1; i++) {
-            map.put(i, new ArrayList<Integer>());
+            map.put(i, new HashSet<Integer>());
         }
-        
+
         for (int i = 0; i < n2; i++) {
             String ln = br.readLine();
@@ -46,37 +50,39 @@
             int u = Integer.parseInt(sp2[0]);
             int v = Integer.parseInt(sp2[1]);
-            
-            List<Integer> l = map.get(u);
+
+            Set<Integer> l = map.get(u);
             l.add(v);
-            
+
             l = map.get(v);
             l.add(u);
         }
 
-//        System.out.println(map);
-        
-        for (Map.Entry<Integer, List<Integer>> entry : map.entrySet()) {
+        //System.out.println(map);
+
+        for (Map.Entry<Integer, Set<Integer>> entry : map.entrySet()) {
             int c = 0;
             Integer integer = entry.getKey();
-            List<Integer> list = entry.getValue();
+            Set<Integer> list = entry.getValue();
             for (Integer v : list) {
-                if (isPow(v)) c++;
-                if (c >= 4) {
-                    System.out.println("YES");
-                    return true;
+                if (isPow(v)) {
+                    c++;
                 }
+
+            }
+            if (c == 4) {
+                System.out.println("YES");
+                return true;
             }
         }
         System.out.println("NO");
-        
+
         return true;
     }
-    
-    
+
     public boolean isPow(int x) {
-        if (map.get(x).size() == 1) return true;
+        if (map.get(x).size() == 1) {
+            return true;
+        }
         return false;
     }
-    
-    
 }