結果
問題 |
No.1817 Reversed Edges
|
ユーザー |
|
提出日時 | 2022-01-21 22:36:37 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 329 ms / 2,000 ms |
コード長 | 623 bytes |
コンパイル時間 | 293 ms |
コンパイル使用メモリ | 82,048 KB |
実行使用メモリ | 175,360 KB |
最終ジャッジ日時 | 2024-11-26 01:36:06 |
合計ジャッジ時間 | 7,358 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 23 |
ソースコード
import sys sys.setrecursionlimit(10**6) n = int(input()) load = [[] for i in range(n)] for i in range(n-1): a,b = map(int,input().split()) a -= 1; b -= 1 load[a].append(b) load[b].append(a) s = 0 ans = [0]*n go = [(0,-1)] while go: np,bef = go.pop() for i in load[np]: if i == bef: continue go.append((i,np)) s += 1 if np > i else 0 def dfs(np,bef,s): ans[np] = s for i in load[np]: if i == bef: continue if i > np: dfs(i,np,s+1) else: dfs(i,np,s-1) return dfs(0,-1,s) print(*ans,sep='\n')