結果
| 問題 |
No.1424 Ultrapalindrome
|
| コンテスト | |
| ユーザー |
あかりき
|
| 提出日時 | 2021-03-12 21:42:35 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 1,038 bytes |
| コンパイル時間 | 277 ms |
| コンパイル使用メモリ | 82,304 KB |
| 実行使用メモリ | 132,044 KB |
| 最終ジャッジ日時 | 2024-10-14 11:59:54 |
| 合計ジャッジ時間 | 6,526 ms |
|
ジャッジサーバーID (参考情報) |
judge5 / judge3 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 27 WA * 2 |
ソースコード
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)
L=[]
for i in range(n):
if len(connection[i])==1:
L.append(i)
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(L[0])
B2=bfs(L[1])
ans=[]
for i in range(1,len(L)):
x=L[i]
ans.append(B[x])
ans2=[]
for i in range(len(L)):
if i!=1:
x=L[i]
ans2.append(B2[x])
if len(set(ans))==1 and len(set(ans2))==1:
print('Yes')
else:
print('No')
あかりき