結果
| 問題 | 
                            No.994 ばらばらコイン
                             | 
                    
| コンテスト | |
| ユーザー | 
                             burita083
                         | 
                    
| 提出日時 | 2021-03-14 18:25:47 | 
| 言語 | Python3  (3.13.1 + numpy 2.2.1 + scipy 1.14.1)  | 
                    
| 結果 | 
                             
                                AC
                                 
                             
                            
                         | 
                    
| 実行時間 | 600 ms / 2,000 ms | 
| コード長 | 622 bytes | 
| コンパイル時間 | 96 ms | 
| コンパイル使用メモリ | 12,672 KB | 
| 実行使用メモリ | 29,184 KB | 
| 最終ジャッジ日時 | 2024-11-06 07:52:24 | 
| 合計ジャッジ時間 | 6,134 ms | 
| 
                            ジャッジサーバーID (参考情報)  | 
                        judge3 / judge4 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| other | AC * 23 | 
ソースコード
from collections import deque
N, K = map(int, input().split())
if K > N:
  print(-1)
  exit()
graph = [[] for _ in range(N)]
for _ in range(N-1):
  a, b = map(int, input().split())
  graph[a-1].append(b-1)
  graph[b-1].append(a-1)
queue = deque([0])
ans = [0] * N
dist = [-1] * N #Visitedとして使う
if K == 1:
  print(0)
  exit()
K -= 1
count = 0
while queue:
  v = queue.popleft()
  for e in graph[v]:
    if dist[e] != -1: #距離が確定確定してたらスルー
      continue
    dist[e] = dist[v] + 1
    K -= 1
    count += 1
    if K == 0:
      print(count)
      exit()
    queue.append(e)
print(-1)
            
            
            
        
            
burita083