結果
問題 |
No.2214 Products on Tree
|
ユーザー |
|
提出日時 | 2023-02-11 13:23:44 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 690 ms / 3,000 ms |
コード長 | 934 bytes |
コンパイル時間 | 200 ms |
コンパイル使用メモリ | 81,968 KB |
実行使用メモリ | 163,200 KB |
最終ジャッジ日時 | 2024-07-08 03:08:36 |
合計ジャッジ時間 | 15,532 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 35 |
ソースコード
import sys ni = lambda :int(input()) na = lambda :list(map(int,input().split())) yes = lambda :print("yes");Yes = lambda :print("Yes");YES = lambda : print("YES") no = lambda :print("no");No = lambda :print("No");NO = lambda : print("NO") ####################################################################### mod = 998244353 n = ni() g = [[] for i in range(n)] for _ in range(n-1): u,v = na() u-=1 v-=1 g[u].append(v) g[v].append(u) et = [] chi = [[] for i in range(n)] d = [0] seen = [0] * n while d: x = d.pop() seen[x] = 1 et.append(x) for y in g[x]: if seen[y] ^ 1: chi[x].append(y) d.append(y) dp1 = [1] * n dp2 = [1] * n for x in et[::-1]: for y in chi[x]: dp1[x],dp2[x] = dp1[x] * dp2[y] + dp2[x] * dp1[y] + dp1[x] * dp1[y], dp2[x] * (dp2[y] + dp1[y]) dp1[x] %= mod dp2[x] %= mod #print(x,dp1[x],dp2[x]) print(dp1[0])