提出 #24451348
ソースコード 拡げる
import sys
sys.setrecursionlimit(10**5)
def calc_dp(i, parent=-1):
global children, dp_b, dp_w, mod
if children[i] == [parent]: # bottom case
return 1, 1
result_w = 1
result_b = 1
for j in children[i]:
if j == parent:
continue
result_w *= (dp_w[j] + dp_b[j])
result_b *= dp_w[j]
result_w %= mod
result_b %= mod
return result_b, result_w
def tree_search(i, parent=-1):
global children, dp_b, dp_w
for j in children[i]:
if j == parent: # 親ノードはスキップする
continue
tree_search(j, i) # i を親ノードとして、子ノード j を処理する
dp_b[i], dp_w[i] = calc_dp(i, parent) # dp_b[i], dp_w[i] を計算する関数
def main(f):
global children, dp_b, dp_w, mod
mod = 10**9 + 7
N = int(f.readline())
children = [[] for _ in range(N+1)]
dp_b = [None] * (N+1) # db_b[i] : 親が Black の場合の i 以下のサブツリーの場合の数
dp_w = [None] * (N+1) # db_w[i] : 親が Black の場合の i 以下のサブツリーの場合の数
for _ in range(N-1):
x, y = list(map(int, f.readline().split()))
children[y].append(x)
children[x].append(y)
tree_search(1)
print((dp_b[1] + dp_w[1]) % mod)
main(sys.stdin)
提出情報
| 提出日時 | |
|---|---|
| 問題 | P - Independent Set |
| ユーザ | enakai |
| 言語 | PyPy3 (7.3.0) |
| 得点 | 100 |
| コード長 | 1278 Byte |
| 結果 | AC |
| 実行時間 | 1376 ms |
| メモリ | 789560 KiB |
ジャッジ結果
| セット名 | All | ||
|---|---|---|---|
| 得点 / 配点 | 100 / 100 | ||
| 結果 |
|
| セット名 | テストケース |
|---|---|
| All | 0_00, 0_01, 0_02, 0_03, 1_00, 1_01, 1_02, 1_03, 1_04, 1_05, 1_06, 1_07, 1_08, 1_09, 1_10, 1_11, 1_12, 1_13, 1_14, 1_15 |
| ケース名 | 結果 | 実行時間 | メモリ |
|---|---|---|---|
| 0_00 | AC | 66 ms | 61812 KiB |
| 0_01 | AC | 51 ms | 62128 KiB |
| 0_02 | AC | 48 ms | 62116 KiB |
| 0_03 | AC | 51 ms | 62056 KiB |
| 1_00 | AC | 50 ms | 62088 KiB |
| 1_01 | AC | 907 ms | 461092 KiB |
| 1_02 | AC | 201 ms | 93684 KiB |
| 1_03 | AC | 181 ms | 94392 KiB |
| 1_04 | AC | 190 ms | 92940 KiB |
| 1_05 | AC | 220 ms | 93720 KiB |
| 1_06 | AC | 213 ms | 93136 KiB |
| 1_07 | AC | 215 ms | 91992 KiB |
| 1_08 | AC | 246 ms | 92232 KiB |
| 1_09 | AC | 237 ms | 91868 KiB |
| 1_10 | AC | 248 ms | 92484 KiB |
| 1_11 | AC | 253 ms | 92024 KiB |
| 1_12 | AC | 241 ms | 93008 KiB |
| 1_13 | AC | 265 ms | 99576 KiB |
| 1_14 | AC | 347 ms | 152800 KiB |
| 1_15 | AC | 1376 ms | 789560 KiB |