結果

問題 No.3425 Mod K Graph Increments (Easy)
コンテスト
ユーザー kidodesu
提出日時 2025-12-28 19:09:02
言語 PyPy3
(7.3.17)
結果
RE  
(最新)
AC  
(最初)
実行時間 -
コード長 1,023 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 187 ms
コンパイル使用メモリ 82,772 KB
実行使用メモリ 67,104 KB
最終ジャッジ日時 2026-01-11 13:04:02
合計ジャッジ時間 1,387 ms
ジャッジサーバーID
(参考情報)
judge4 / judge5
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample RE * 1
other RE * 7
権限があれば一括ダウンロードができます

ソースコード

diff #
raw source code

sum_n = sum_m = 0
for _ in range(int(input())):
    n, k = map(int, input().split())
    m = n-1
    assert 1 <= n <= 2*10**5 and 0 <= m <= min(n*(n-1)//2, 2*10**5) and 1 <= k <= 10**9
    sum_n += n
    sum_m += m
    node = [[] for _ in range(n)]
    for _ in range(m):
        u, v = [int(x)-1 for x in input().split()]; assert 0 <= min(u, v) and max(u, v) < n
        node[u].append(v)
        node[v].append(u)
    B = list(map(int, input().split()))
    for i in range(n): assert 0 <= B[i] < k
    D = [-1] * n
    D[0] = 0
    S = [0]
    f = 1
    while S:
        now = S.pop()
        for nxt in node[now]:
            if D[nxt] == -1:
                D[nxt] = D[now]^1
                S.append(nxt)
            elif D[now] == D[nxt]:
                f = 0
    if not k % 2 and sum(B) % 2:
        print("No")
    elif f and sum([B[i] for i in range(n) if D[i]]) % k != sum([B[i] for i in range(n) if not D[i]]) % k:
        print("No")
    else:
        print("Yes")

assert sum_n <= 2*10**5 and sum_m <= 2*10**5
0