結果
問題 |
No.277 根掘り葉掘り
|
ユーザー |
![]() |
提出日時 | 2015-09-05 00:18:44 |
言語 | Python2 (2.7.18) |
結果 |
WA
|
実行時間 | - |
コード長 | 510 bytes |
コンパイル時間 | 646 ms |
コンパイル使用メモリ | 6,812 KB |
実行使用メモリ | 265,880 KB |
最終ジャッジ日時 | 2024-07-19 02:41:22 |
合計ジャッジ時間 | 9,142 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 10 WA * 8 |
ソースコード
import sys sys.setrecursionlimit(1000000) def dfs(r,b,h,d): if RL[h] > d: RL[h] = d if len(e[h]) == 1 and h != r: leaf.add(h) RL[h] = 0 else: tmp = min(dfs(r,h,nxt,d+1) for nxt in e[h] if nxt != b) if tmp < RL[h]: RL[h] = tmp return RL[h] + 1 N = input() e = [[] for i in range(N)] leaf = set([0]) RL = [N]*N for i in range(N-1): x,y = map(int,raw_input().split()) e[x-1].append(y-1) e[y-1].append(x-1) for i in range(N): if i in leaf: dfs(i,i,i,0) for i in range(N): print RL[i]