結果
問題 | No.763 Noelちゃんと木遊び |
ユーザー |
|
提出日時 | 2023-01-30 01:15:41 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 407 ms / 2,000 ms |
コード長 | 589 bytes |
コンパイル時間 | 395 ms |
コンパイル使用メモリ | 82,612 KB |
実行使用メモリ | 190,080 KB |
最終ジャッジ日時 | 2025-03-22 10:42:13 |
合計ジャッジ時間 | 8,324 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 22 |
ソースコード
import sys sys.setrecursionlimit(10**7) def main(): N = int(input()) G = [[] for _ in range(N)] for _ in range(N-1): u,v = map(int, input().split()) u -= 1 v -= 1 G[u].append(v) G[v].append(u) dp = [[0, 0] for _ in range(N)] #o exist #1 not exist seen = [0]*N def dfs(x): seen[x] = 1 for nx in G[x]: if seen[nx]: continue dfs(nx) dp[x][0] += max(dp[nx]) dp[x][1] += max(dp[nx][0]+1, dp[nx][1]) dfs(0) print(max(dp[0][0]+1, dp[0][1])) main()