結果
問題 |
No.277 根掘り葉掘り
|
ユーザー |
|
提出日時 | 2016-09-21 17:29:00 |
言語 | PyPy2 (7.3.15) |
結果 |
WA
|
実行時間 | - |
コード長 | 670 bytes |
コンパイル時間 | 149 ms |
コンパイル使用メモリ | 76,672 KB |
実行使用メモリ | 205,932 KB |
最終ジャッジ日時 | 2024-11-17 10:29:56 |
合計ジャッジ時間 | 17,265 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 6 WA * 11 TLE * 1 |
ソースコード
import Queue N = input() rinsetsu = [[] for i in xrange(N)] rinsetsu_inv = [[] for i in xrange(N)] for _ in xrange(N-1): a, b = map(int, raw_input().split()) rinsetsu[a-1].append(b-1) rinsetsu_inv[b-1].append(a-1) leaves = [i for i in xrange(N) if len(rinsetsu[i]) == 0] ans = [float('inf') for i in xrange(N)] def bfs(start, inv): r = rinsetsu_inv if inv else rinsetsu q = Queue.Queue() q.put((start, 0)) while not q.empty(): node, depth = q.get() ans[node] = min(ans[node], depth) for nn in r[node]: q.put((nn, depth+1)) bfs(0, False) for leaf in leaves: bfs(leaf, True) for a in ans: print a