結果
問題 | No.763 Noelちゃんと木遊び |
ユーザー |
![]() |
提出日時 | 2025-01-21 21:59:42 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 370 ms / 2,000 ms |
コード長 | 522 bytes |
コンパイル時間 | 400 ms |
コンパイル使用メモリ | 82,192 KB |
実行使用メモリ | 189,788 KB |
最終ジャッジ日時 | 2025-03-22 10:44:18 |
合計ジャッジ時間 | 6,968 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 22 |
ソースコード
import sys sys.setrecursionlimit(100050) def dfs(x, p): a = 1 b = 0 for y in E[x]: if y != p: dfs(y, x) a += dp[y][1] b += max(dp[y]) dp[x] = [a, b] N = int(input()) E = [[] for _ in range(N)] for i in range(N - 1): u, v = map(int, input().split()) u -= 1 v -= 1 E[u].append(v) E[v].append(u) # dp # 1項目その頂点を切らない場合 # 2項目その頂点を切る場合 dp = [[0, 0] for _ in range(N)] dfs(0, -1) print(max(dp[0]))