結果
問題 | No.812 Change of Class |
ユーザー | tpyneriver |
提出日時 | 2019-04-12 22:19:58 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 1,272 ms / 4,000 ms |
コード長 | 791 bytes |
コンパイル時間 | 376 ms |
コンパイル使用メモリ | 82,464 KB |
実行使用メモリ | 183,516 KB |
最終ジャッジ日時 | 2024-06-12 19:16:32 |
合計ジャッジ時間 | 28,157 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 60 |
ソースコード
from collections import deque import sys input = sys.stdin.readline N, M = map(int, input().split()) Edge = [[]for _ in range(N)] for _ in range(M): a, b = map(int, input().split()) Edge[a-1].append(b-1) Edge[b-1].append(a-1) Q = int(input()) ans = [None]*Q for q in range(Q): st = int(input()) st -= 1 Q = deque() Q.append(st) visited = set([st]) dist = [-1]*N dist[st] = 0 md = 0 while Q: s = Q.pop() for v in Edge[s]: if v not in visited: visited.add(v) if dist[v] == -1: dist[v] = dist[s] + 1 md = max(md, dist[v]) Q.appendleft(v) ans[q] = (len(visited) - 1,(md-1).bit_length() if md else 0) for a in ans: print(*a)