# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
736543 | 2023-05-05T22:27:25 Z | rahulverma | Network (BOI15_net) | Java 11 | 0 ms | 0 KB |
import java.io.*; import java.util.*; public class network { public static void main(String[] args) { Scanner s = new Scanner(System.in); int n = s.nextInt(); ArrayList<ArrayList<Integer>> graph = new ArrayList<>(); for(int i = 0; i < n; i++) graph.add(new ArrayList<Integer>()); for(int i = 1; i < n; i++) { int v1 = s.nextInt() - 1; int v2 = s.nextInt() - 1; graph.get(v1).add(v2); graph.get(v2).add(v1); } boolean found = true; ArrayList<Integer> ans = new ArrayList<Integer>(); for(int i = 0; i < n; i++) { if(graph.get(i).size() == 1) { ans.add(i+1); if(i == 0) found = true; } } if(found) ans.add(1); System.out.println((int) ans.size()/2); for(int i = 0; i < ans.size()/2; i += 1) { System.out.println(ans.get(2*i) + " " + ans.get(2*i + 1)); } } }