結果
問題 | No.994 ばらばらコイン |
ユーザー |
![]() |
提出日時 | 2020-05-02 17:32:42 |
言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
結果 |
AC
|
実行時間 | 615 ms / 2,000 ms |
コード長 | 793 bytes |
コンパイル時間 | 407 ms |
コンパイル使用メモリ | 12,672 KB |
実行使用メモリ | 47,744 KB |
最終ジャッジ日時 | 2024-12-30 16:24:47 |
合計ジャッジ時間 | 8,065 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 23 |
ソースコード
import collections def main(): n, k = map(int, input().split()) e = [list(map(int, input().split())) for _ in range(n - 1)] ans = solve(n, k, e) print(ans) def solve(n, k, e): if n < k: return -1 g = [[] for _ in range(n)] for (x, y) in e: x, y = x - 1, y - 1 g[x].append(y) g[y].append(x) arrived = [False for _ in range(n)] q = collections.deque() q.append(0) coins = 0 ans = -1 while len(q): v = q.popleft() if not arrived[v]: arrived[v] = True coins += 1 ans += 1 if coins == k: break for i in g[v]: q.append(i) else: return -1 return ans if __name__ == '__main__': main()