Submission #230431
Source Code Expand
import java.io.IOException; import java.util.ArrayList; public class Main { static ArrayList<Integer> G[]; static int T[]; static int L[]; static int D[]; static int cnt; static void rec(int p, int v, int d) { int low = cnt; for(int w: G[v]) { if(w == p) continue; rec(v, w, d+1); } T[v] = cnt; L[cnt] = low; D[cnt] = d; cnt++; } public static void main(String[] args) { int N = nextInt(); G = new ArrayList[N]; for(int i = 0; i < N; i++) { G[i] = new ArrayList<Integer>(); } for(int i = 0; i < N-1; i++) { int a = nextInt()-1; int b = nextInt()-1; G[a].add(b); G[b].add(a); } T = new int[N]; L = new int[N]; D = new int[N]; rec(-1, 0, 0); int Q = nextInt(); for(int i = 0; i < Q; i++) { int a = T[nextInt()-1]; int b = T[nextInt()-1]; if(a > b) { int tmp = a; a = b; b = tmp; } int low = b-1; int high = N-1; while(high - low > 1) { int m = (high+low)/2; if(b < L[m]) { low = m; } else if(L[m] <= a && b <= m) { high = m; } else { low = m; } } System.out.println(D[a] + D[b] - 2*D[high] + 1); } } static int nextInt() { int c; try { c = System.in.read(); while(c != '-' && (c < '0' || c > '9')) c = System.in.read(); if(c == '-') return -nextInt(); int res = 0; while(c >= '0' && c <= '9') { res = res * 10 + c - '0'; c = System.in.read(); } return res; } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } return -1; } }
Submission Info
Submission Time | |
---|---|
Task | D - 閉路 |
User | TowersofHanoi |
Language | Java (OpenJDK 1.7.0) |
Score | 0 |
Code Size | 1663 Byte |
Status | WA |
Exec Time | 1898 ms |
Memory | 53140 KB |
Compile Error
Note: ./Main.java uses unchecked or unsafe operations. Note: Recompile with -Xlint:unchecked for details.
Judge Result
Set Name | Sample | Subtask1 | Subtask2 | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 0 / 30 | 0 / 70 | ||||||||||
Status |
|
|
|
Set Name | Test Cases |
---|---|
Sample | subtask0_sample01.txt, subtask0_sample02.txt, subtask0_sample03.txt |
Subtask1 | subtask1_01.txt, subtask1_02.txt, subtask1_03.txt, subtask1_04.txt, subtask1_05.txt, subtask1_06.txt, subtask1_07.txt, subtask1_08.txt, subtask1_09.txt, subtask1_10.txt, subtask1_11.txt, subtask1_12.txt |
Subtask2 | subtask0_sample01.txt, subtask0_sample02.txt, subtask0_sample03.txt, subtask1_01.txt, subtask1_02.txt, subtask1_03.txt, subtask1_04.txt, subtask1_05.txt, subtask1_06.txt, subtask1_07.txt, subtask1_08.txt, subtask1_09.txt, subtask1_10.txt, subtask1_11.txt, subtask1_12.txt, subtask2_01.txt, subtask2_02.txt, subtask2_03.txt, subtask2_04.txt, subtask2_05.txt, subtask2_06.txt, subtask2_07.txt, subtask2_08.txt, subtask2_09.txt, subtask2_10.txt, subtask2_11.txt, subtask2_12.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
subtask0_sample01.txt | AC | 346 ms | 20768 KB |
subtask0_sample02.txt | AC | 343 ms | 20624 KB |
subtask0_sample03.txt | AC | 337 ms | 20516 KB |
subtask1_01.txt | AC | 631 ms | 50388 KB |
subtask1_02.txt | AC | 655 ms | 50172 KB |
subtask1_03.txt | AC | 331 ms | 20640 KB |
subtask1_04.txt | AC | 384 ms | 20656 KB |
subtask1_05.txt | WA | 332 ms | 20768 KB |
subtask1_06.txt | WA | 333 ms | 20716 KB |
subtask1_07.txt | WA | 607 ms | 44168 KB |
subtask1_08.txt | WA | 578 ms | 43840 KB |
subtask1_09.txt | WA | 584 ms | 44452 KB |
subtask1_10.txt | WA | 571 ms | 44224 KB |
subtask1_11.txt | WA | 603 ms | 43880 KB |
subtask1_12.txt | WA | 616 ms | 43780 KB |
subtask2_01.txt | AC | 1733 ms | 53088 KB |
subtask2_02.txt | AC | 1704 ms | 53140 KB |
subtask2_03.txt | WA | 1471 ms | 33316 KB |
subtask2_04.txt | WA | 1480 ms | 32592 KB |
subtask2_05.txt | WA | 1471 ms | 32872 KB |
subtask2_06.txt | WA | 1531 ms | 32536 KB |
subtask2_07.txt | WA | 1898 ms | 47216 KB |
subtask2_08.txt | WA | 1765 ms | 47508 KB |
subtask2_09.txt | WA | 1763 ms | 47444 KB |
subtask2_10.txt | WA | 1753 ms | 47416 KB |
subtask2_11.txt | WA | 1870 ms | 47384 KB |
subtask2_12.txt | WA | 1726 ms | 47028 KB |