import java.util.*; public class Main { public static void handle(Map<Integer,List<Integer>> map,Queue<Integer> queue){ List<String> strings = new ArrayList<>(); while (!queue.isEmpty()){ StringBuilder sb = new StringBuilder(""); int id = queue.poll(); List<Integer> list = map.get(id); if (list.size()>1){ if (id<10){ sb.append("0"); } sb.append(id+" "); for (int i = 0; i < list.size() ; i++) { sb.append(list.get(i)); if (i!=list.size()-1) sb.append(" "); } strings.add(sb.toString()); } } if (strings.isEmpty()) System.out.println("YES"); else for (int i = 0; i < strings.size(); i++) { System.out.println(strings.get(i)); } } public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int n = scanner.nextInt(); Map<Integer,List<Integer>> map = new HashMap<>(); Queue<Integer> queue = new PriorityQueue<>(); for (int i = 0; i < n; i++) { int str = scanner.nextInt(); int id = scanner.nextInt(); if (map.containsKey(str)){ map.get(str).add(id); }else{ List<Integer> list = new ArrayList<>(); list.add(id); map.put(str,list); queue.add(str); } } handle(map,queue); } }选课ac了,但是死在了第二题的循环输入上。。。。。求大佬讲解下怎么判断输入结束啊