結果
問題 | No.763 Noelちゃんと木遊び |
ユーザー |
![]() |
提出日時 | 2023-05-01 17:26:01 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 427 ms / 2,000 ms |
コード長 | 478 bytes |
コンパイル時間 | 200 ms |
コンパイル使用メモリ | 82,636 KB |
実行使用メモリ | 230,492 KB |
最終ジャッジ日時 | 2025-03-22 10:42:34 |
合計ジャッジ時間 | 7,532 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 22 |
ソースコード
import sys sys.setrecursionlimit(10**7) N = int(input()) AB = [list(map(int,input().split())) for _ in range(N-1)] L = [[] for _ in range(N)] for a,b in AB: L[a-1].append(b-1) L[b-1].append(a-1) #木の数 DP = [[0]*2 for _ in range(N)] def dfs(i,p): for l in L[i]: if l !=p: dfs(l,i) for l in L[i]: if l !=p: DP[i][0]+=max(DP[l][0]-1,DP[l][1]) DP[i][1]+=max(DP[l]) DP[i][0]+=1 dfs(0,-1) print(max(DP[0]))