結果
問題 | No.2888 Mamehinata |
ユーザー |
👑 |
提出日時 | 2024-09-13 22:05:25 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 517 ms / 2,000 ms |
コード長 | 953 bytes |
コンパイル時間 | 276 ms |
コンパイル使用メモリ | 82,264 KB |
実行使用メモリ | 135,736 KB |
最終ジャッジ日時 | 2024-09-13 22:05:45 |
合計ジャッジ時間 | 15,784 ms |
ジャッジサーバーID (参考情報) |
judge6 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 52 |
ソースコード
from collections import dequefrom itertools import accumulateINF = float("inf")N, M = map(int, input().split())graph = [[] for _ in range(N)]for _ in range(M):u, v = map(lambda x: int(x) - 1, input().split())graph[u].append(v)graph[v].append(u)dist = [INF] * Ndist[0] = 0que = deque([0])while que:now_v = que.popleft()for next_v in graph[now_v]:if dist[next_v] != INF:continuedist[next_v] = dist[now_v] + 1que.append(next_v)if dist.count(INF) == N - 1:for _ in range(N):print(0)exit()odd = [0] * (N + 1)even = [0] * (N + 1)for i in range(N):if dist[i] == INF:continueif dist[i] % 2 == 0:even[dist[i]] += 1else:odd[dist[i]] += 1acc_odd = list(accumulate(odd))acc_even = list(accumulate(even))for i in range(1, N + 1):if i % 2 == 0:print(acc_even[i])else:print(acc_odd[i])