結果
| 問題 |
No.1424 Ultrapalindrome
|
| コンテスト | |
| ユーザー |
あかりき
|
| 提出日時 | 2021-03-12 22:59:13 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
AC
|
| 実行時間 | 228 ms / 2,000 ms |
| コード長 | 1,041 bytes |
| コンパイル時間 | 185 ms |
| コンパイル使用メモリ | 82,372 KB |
| 実行使用メモリ | 107,648 KB |
| 最終ジャッジ日時 | 2024-10-14 16:24:47 |
| 合計ジャッジ時間 | 5,314 ms |
|
ジャッジサーバーID (参考情報) |
judge3 / judge5 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 29 |
ソースコード
n=int(input())
l=[list(map(int,input().split())) for i in range(n-1)]
connection=[[] for i in range(n)]
for i in range(n-1):
connection[l[i][0]-1].append(l[i][1]-1)
connection[l[i][1]-1].append(l[i][0]-1)
ct=0
L=[]
for i in range(n):
if len(connection[i])>=3:
ct+=1
x=i
if len(connection[i])==1:
L.append(i)
if ct==0:
print('Yes')
exit()
if ct>=2:
print('No')
exit()
def bfs(v):
distance=[-1]*n
distance[v]=0
next=connection[v]
next2=set()
visited=[-1]*n
visited[v]=1
visitct=1
ct=0
while len(next)!=0 and visitct!=n:
ct+=1
for i in range(len(next)):
if visited[next[i]]==-1:
distance[next[i]]=ct
visited[next[i]]=1
visitct+=1
for j in range(len(connection[next[i]])):
if visited[connection[next[i]][j]]==-1:
next2.add(connection[next[i]][j])
next=list(next2)
next2=set()
return distance
B=bfs(x)
ans=[]
for i in range(len(L)):
y=L[i]
ans.append(B[y])
if len(set(ans))!=1:
print('No')
exit()
print('Yes')
あかりき