結果
| 問題 | No.1424 Ultrapalindrome |
| コンテスト | |
| ユーザー |
brthyyjp
|
| 提出日時 | 2021-03-12 22:42:32 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 1,102 bytes |
| 記録 | |
| コンパイル時間 | 156 ms |
| コンパイル使用メモリ | 81,804 KB |
| 実行使用メモリ | 109,184 KB |
| 最終ジャッジ日時 | 2024-10-14 13:16:36 |
| 合計ジャッジ時間 | 8,153 ms |
|
ジャッジサーバーID (参考情報) |
judge3 / judge2 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 25 WA * 4 |
ソースコード
import sys
import io, os
input = io.BytesIO(os.read(0,os.fstat(0).st_size)).readline
n = int(input())
g = [[] for i in range(n)]
G = [[] for i in range(n)]
for i in range(n-1):
a, b = map(int, input().split())
a, b = a-1, b-1
G[a].append(b)
G[b].append(a)
g[a].append(b)
g[b].append(a)
if n == 2:
print('Yes')
exit()
from collections import deque
q = deque([])
leaf = []
for v in range(n):
if len(g[v]) == 1:
q.append(v)
leaf.append(v)
if len(q) == 2:
print('Yes')
exit()
N = n
while N > 2:
l = len(q)
N -= l
for i in range(l):
v = q.popleft()
for u in g[v]:
g[u].remove(v)
if len(g[u]) == 1:
q.append(u)
#print(list(q))
if len(q) >= 2:
print('No')
exit()
s = q[0]
#print(s)
q = deque([])
q.append(s)
dist = [-1]*len(g)
dist[s] = 0
while q:
v = q.popleft()
for u in G[v]:
if dist[u] == -1:
dist[u] = dist[v]+1
q.append(u)
D = set()
for l in leaf:
D.add(dist[l])
if len(D) == 1:
print('Yes')
else:
print('No')
brthyyjp