I.java 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. package tuirngCup2019ahstuACM;
  2. import java.util.ArrayList;
  3. import java.util.HashMap;
  4. import java.util.Scanner;
  5. /*
  6. 把节点最多的点看作树根,那个结果就是这个树根的直接孩子数+1
  7. */
  8. public class I {
  9. public static void main(String[] args) {
  10. Scanner cin = new Scanner(System.in);
  11. int n = cin.nextInt();
  12. if (n == 1){
  13. System.out.println(1);
  14. return;
  15. }
  16. HashMap<Integer, ArrayList<Integer>>hashMap = new HashMap<>();
  17. for(int i = 1; i < n; i++){
  18. int x = cin.nextInt();
  19. int y = cin.nextInt();
  20. add(hashMap, x, y);
  21. add(hashMap, y, x);
  22. }
  23. int best = 0;
  24. for(int i = 1; i <= n; i++){
  25. int cnt = 1;
  26. ArrayList<Integer>values = hashMap.get(i);
  27. cnt += values.size();
  28. best = Math.max(best, cnt);
  29. }
  30. System.out.println(best);
  31. }
  32. private static void add(HashMap<Integer, ArrayList<Integer>> hashMap, int x, int y) {
  33. ArrayList<Integer>values = hashMap.get(x);
  34. if(values == null){
  35. values = new ArrayList<>();
  36. }
  37. values.add(y);
  38. hashMap.put(x, values);
  39. }
  40. }