Go to diff to previous submission
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.HashMap; import java.util.HashSet; import java.util.List; import java.util.Map; import java.util.Set; /* * To change this template, choose Tools | Templates * and open the template in the editor. */ /** * * @author cteam94 */ public class FN { while ((new FN()).readLine(br)); } if (line == null) { return false; } for (int i = 1; i <= n1; i++) { map.put(i, new HashSet<Integer>()); } for (int i = 0; i < n2; i++) { Set<Integer> l = map.get(u); l.add(v); l = map.get(v); l.add(u); } //System.out.println(map); int c = 0; Set<Integer> list = entry.getValue(); if (isPow(v)) { c++; } } if (c == 4) { return true; } } return true; } public boolean isPow(int x) { if (map.get(x).size() == 1) { return true; } return false; } }
--- 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; } - - }