結果
問題 |
No.2532 Want Play More
|
ユーザー |
![]() |
提出日時 | 2023-12-23 13:29:18 |
言語 | PyPy3 (7.3.15) |
結果 |
WA
|
実行時間 | - |
コード長 | 1,310 bytes |
コンパイル時間 | 300 ms |
コンパイル使用メモリ | 82,956 KB |
実行使用メモリ | 158,120 KB |
最終ジャッジ日時 | 2024-09-27 12:22:40 |
合計ジャッジ時間 | 9,761 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 13 WA * 12 RE * 1 |
ソースコード
N = int(input()) AB = [list(map(int,input().split())) for _ in range(N-1)] E = [[] for _ in range(N)] for a,b in AB: a -= 1 b -= 1 E[a].append(b) E[b].append(a) X = [0] * N P = [-1] * N def dfs(x,p): tmp = 1 for y in E[x]: if y != p: P[y] = x tmp += dfs(y,x) X[x] = tmp return tmp def search(a): q = [0] cnt = 0 while q: q2 = [] while q: tmp = [] x = q.pop(-1) if (cnt+a) & 1: maxy = 0 for y in E[x]: if P[x] != y: if X[y] > maxy: tmp = [y] maxy = X[y] elif X[y] == maxy: tmp.append(y) #print("a",tmp,maxy) else: minx = N for y in E[x]: if P[x] != y: if X[y] < minx: tmp = [y] minx = X[y] elif X[y] == minx: tmp.append(y) #print("b",tmp,minx) q2 += tmp cnt += 1 q,q2 = q2,q return cnt dfs(0,-1) print(search(1)-1) print(search(0)-1)