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
AC × 3
AC × 4
WA × 8
AC × 9
WA × 18
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