結果
問題 | No.2888 Mamehinata |
ユーザー | 👑 KA37RI |
提出日時 | 2024-09-13 22:10:33 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 533 ms / 2,000 ms |
コード長 | 722 bytes |
コンパイル時間 | 222 ms |
コンパイル使用メモリ | 82,048 KB |
実行使用メモリ | 129,664 KB |
最終ジャッジ日時 | 2024-09-13 22:10:56 |
合計ジャッジ時間 | 16,558 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 52 |
ソースコード
from collections import deque n, m = [int(x) for x in input().split()] uv = [[int(x) - 1 for x in input().split()] for _ in range(m)] g = [[] for _ in range(n)] for ui, vi in uv: g[ui].append(vi) g[vi].append(ui) if len(g[0]) == 0: for _ in range(n): print(0) exit() large = 10 ** 10 d = [large] * n d[0] = 0 q = deque() q.append(0) while q: cur = q.popleft() for nxt in g[cur]: if d[nxt] >= large: d[nxt] = d[cur] + 1 q.append(nxt) odd = [0] * (n + 1) even = [0] * (n + 1) for di in d: if di < large: if di % 2 == 0: even[di] += 1 else: odd[di] += 1 for i in range(n): odd[i+1] += odd[i] even[i+1] += even[i] if (i + 1) % 2 == 0: print(even[i+1]) else: print(odd[i+1])