結果

問題 No.977 アリス仕掛けの摩天楼
ユーザー hedwig100
提出日時 2020-04-08 11:32:54
言語 Python3
(3.13.1 + numpy 2.2.1 + scipy 1.14.1)
結果
AC  
実行時間 540 ms / 2,000 ms
コード長 891 bytes
コンパイル時間 122 ms
コンパイル使用メモリ 12,672 KB
実行使用メモリ 29,056 KB
最終ジャッジ日時 2024-07-18 08:17:41
合計ジャッジ時間 6,317 ms
ジャッジサーバーID
(参考情報)
judge4 / judge5
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 26
権限があれば一括ダウンロードができます

ソースコード

diff #

MOD = 10 ** 9 + 7
INF = 10 ** 10
import sys
sys.setrecursionlimit(100000000)
dy = (-1,0,1,0)
dx = (0,1,0,-1)

MAXN = 100005
G = [[] for _ in range(MAXN)]
visited = [0] * MAXN
def dfs(i):
    visited[i] = 1
    for e in G[i]:
        if visited[e]:
            continue
        dfs(e)

def main():
    n = int(input())
    inedge = [0] * n
    for _ in range(n - 1):
        a,b = map(int,input().split())
        G[a].append(b)
        G[b].append(a)
        inedge[a] += 1
        inedge[b] += 1
    
    cnt = 0
    for i in range(n):
        if visited[i] == 0:
            dfs(i)
            cnt += 1
    
    if cnt == 1:
        print('Bob')
        return
    elif cnt >= 3:
        print('Alice')
        return
    
    ans = 'Bob'
    for i in range(n):
        if inedge[i] == 1:
            ans = 'Alice'
            break
    print(ans) 

if __name__ =='__main__':
    main()  
0