結果
問題 |
No.812 Change of Class
|
ユーザー |
![]() |
提出日時 | 2019-04-15 22:53:48 |
言語 | PyPy3 (7.3.15) |
結果 |
TLE
|
実行時間 | - |
コード長 | 798 bytes |
コンパイル時間 | 862 ms |
コンパイル使用メモリ | 82,220 KB |
実行使用メモリ | 192,852 KB |
最終ジャッジ日時 | 2024-06-12 20:52:40 |
合計ジャッジ時間 | 8,894 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | -- * 3 |
other | AC * 5 TLE * 1 -- * 54 |
ソースコード
import collections, math n, m = map(int, input().split()) friend = collections.defaultdict(list) for _ in range(m): p, q = map(lambda s : int(s) - 1, input().split()) friend[p].append(q) friend[q].append(p) q = int(input()) alist = [int(input()) - 1 for _ in range(q)] for a in alist: d = [float('inf')] * n d[a] = 0 stack = [a] while stack: x = stack.pop() for y in friend[x]: if d[x] + 1 < d[y]: d[y] = d[x] + 1 stack.append(y) b = 0 # 友達の数 c = 0 # もっとも遠い友達までのスコア。 for v in d: if v != 0 and v != float('inf'): b += 1 c = max(c, v) if c == 0: print(b, c) else: print(b, math.ceil(math.log2(c)))