結果
| 問題 |
No.977 アリス仕掛けの摩天楼
|
| ユーザー |
tyawanmusi
|
| 提出日時 | 2020-01-31 22:56:24 |
| 言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 896 bytes |
| コンパイル時間 | 192 ms |
| コンパイル使用メモリ | 12,800 KB |
| 実行使用メモリ | 13,824 KB |
| 最終ジャッジ日時 | 2024-09-17 09:57:22 |
| 合計ジャッジ時間 | 4,721 ms |
|
ジャッジサーバーID (参考情報) |
judge4 / judge6 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 9 WA * 17 |
ソースコード
import sys;sys.setrecursionlimit(10**9)
class UnionFind():
def __init__(self,n):
self.n=[-1]*n
self.r=[0]*n
def Find_Root(self,x):
if self.n[x]<0:
return x
else:
self.n[x]=self.Find_Root(self.n[x])
return self.n[x]
def Unite(self,x,y):
x=self.Find_Root(x)
y=self.Find_Root(y)
if x==y:return
elif self.r[x]>self.r[y]:
self.n[x]+=self.n[y]
self.n[y]=x
else:
self.n[y]+=self.n[x]
self.n[x]=y
if self.r[x]==self.r[y]:
self.r[y]+=1
def Root_Same(self,x,y):
return self.Find_Root(x)==self.Find_Root(y)
def Count(self,x):
return -self.n[self.Find_Root(x)]
def Is_Root(self,x):
return self.Find_Root(x)==x
n=int(input())
u=UnionFind(n)
for i in range(n-1):
a,b=map(int,input().split())
u.Unite(a,b)
c=0
for i in range(n):
if u.Is_Root(i):c+=1
if c<3:print("Alice")
else:print("Bob")
tyawanmusi