結果
| 問題 |
No.806 木を道に
|
| コンテスト | |
| ユーザー |
ttr
|
| 提出日時 | 2020-02-08 21:17:21 |
| 言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 656 bytes |
| コンパイル時間 | 91 ms |
| コンパイル使用メモリ | 12,544 KB |
| 実行使用メモリ | 34,816 KB |
| 最終ジャッジ日時 | 2024-10-01 05:23:49 |
| 合計ジャッジ時間 | 7,994 ms |
|
ジャッジサーバーID (参考情報) |
judge3 / judge5 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 2 |
| other | AC * 9 WA * 18 |
ソースコード
N = int(input())
E = [[] for _ in range(N)]
for _ in range(N-1):
a,b = map(int, input().split())
E[a-1].append(b-1)
E[b-1].append(a-1)
from collections import deque
def f(s):
q = deque([s])
dist = [-1]*N
dist[s] = 1
while q:
temp = q.pop()
for u in E[temp]:
if dist[u] >= 0:
continue
dist[u] = dist[temp]+1
q.append(u)
return dist
for i in range(N):
if len(E[i]) == 1:
dist1 = f(i)
break
num = 0
for i in range(N):
if num < dist1[i]:
num = dist1[i]
idx = i
dist2 = f(idx)
num = max(num, max(dist2))
print(N-num)
ttr