Submission #7489134
Source Code Expand
def resolve(): class LCA: def __init__(self,edges,root=0): self.edges=edges self.n=len(edges) self.maxLog=18 self.parent=[[-1]*(self.maxLog+1) for _ in range(self.n)] self.depth=[0]*self.n self.__dfs(-1,root,0) self.__doubling() def __dfs(self,par,cur,dep): self.depth[cur]=dep self.parent[cur][0]=par for v in self.edges[cur]: if v!=par: self.__dfs(cur,v,dep+1) def __doubling(self): for i in range(self.maxLog): for v in range(self.n): if self.parent[v][i]!=-1: self.parent[v][i+1]=self.parent[self.parent[v][i]][i] def get(self,a,b): if self.depth[a]>self.depth[b]: a,b=b,a for i in range(self.maxLog): if (self.depth[b]-self.depth[a])&(1<<i): b=self.parent[b][i] if a==b: return b for i in reversed(range(self.maxLog-1)): if self.parent[a][i]!=self.parent[b][i]: a=self.parent[a][i] b=self.parent[b][i] return self.parent[a][0] n=int(input()) edges=[[] for _ in range(n)] for _ in range(n-1): x,y=map(lambda i: int(i)-1,input().split()) edges[x].append(y) edges[y].append(x) lca=LCA(edges) q=int(input()) for i in range(q): a,b=map(lambda x: int(x)-1,input().split()) print(lca.depth[a]+lca.depth[b]-lca.depth[lca.get(a,b)]+1) resolve()
Submission Info
Submission Time | |
---|---|
Task | D - 閉路 |
User | moni0627 |
Language | PyPy3 (2.4.0) |
Score | 0 |
Code Size | 1705 Byte |
Status | RE |
Exec Time | 2111 ms |
Memory | 113184 KB |
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 | 161 ms | 38256 KB |
subtask0_sample02.txt | AC | 161 ms | 38256 KB |
subtask0_sample03.txt | WA | 162 ms | 38256 KB |
subtask1_01.txt | RE | 695 ms | 84896 KB |
subtask1_02.txt | RE | 694 ms | 84768 KB |
subtask1_03.txt | WA | 161 ms | 38256 KB |
subtask1_04.txt | WA | 167 ms | 38512 KB |
subtask1_05.txt | WA | 215 ms | 41328 KB |
subtask1_06.txt | WA | 206 ms | 40552 KB |
subtask1_07.txt | WA | 824 ms | 86560 KB |
subtask1_08.txt | WA | 896 ms | 91680 KB |
subtask1_09.txt | WA | 863 ms | 95264 KB |
subtask1_10.txt | WA | 871 ms | 97312 KB |
subtask1_11.txt | WA | 902 ms | 101920 KB |
subtask1_12.txt | WA | 874 ms | 99232 KB |
subtask2_01.txt | RE | 688 ms | 84768 KB |
subtask2_02.txt | RE | 687 ms | 84884 KB |
subtask2_03.txt | WA | 1205 ms | 58200 KB |
subtask2_04.txt | WA | 1226 ms | 58072 KB |
subtask2_05.txt | WA | 1308 ms | 60376 KB |
subtask2_06.txt | WA | 1315 ms | 60380 KB |
subtask2_07.txt | TLE | 2016 ms | 104480 KB |
subtask2_08.txt | TLE | 2013 ms | 105248 KB |
subtask2_09.txt | TLE | 2110 ms | 109088 KB |
subtask2_10.txt | TLE | 2110 ms | 110752 KB |
subtask2_11.txt | TLE | 2111 ms | 110624 KB |
subtask2_12.txt | TLE | 2110 ms | 113184 KB |