結果
問題 |
No.1424 Ultrapalindrome
|
ユーザー |
|
提出日時 | 2021-03-16 19:40:40 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 217 ms / 2,000 ms |
コード長 | 743 bytes |
コンパイル時間 | 204 ms |
コンパイル使用メモリ | 82,176 KB |
実行使用メモリ | 93,300 KB |
最終ジャッジ日時 | 2024-11-08 09:25:24 |
合計ジャッジ時間 | 5,863 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 29 |
ソースコード
N = int(input()) deg = [0] * N adj = [[] for i in range(N)] for i in range(N - 1): a, b = map(int, input().split()) a -= 1 b -= 1 deg[a] += 1 deg[b] += 1 adj[a].append(b) adj[b].append(a) aiueo = len(deg) - deg.count(2) - deg.count(1) if aiueo > 1: print("No") exit() if aiueo == 0: print("Yes") exit() from collections import deque r = deg.index(max(deg)) dep = [-1] * N dep[r] = 0 qu = deque([r]) while len(qu): v = qu.popleft() for nv in adj[v]: if dep[nv] == -1: dep[nv] = dep[v] + 1 qu.append(nv) d = -1 for i in range(N): if deg[i] != 1: continue if d != -1 and d != dep[i]: print("No") exit() d = dep[i] print("Yes")