AtCoder ABC 225 B – Star or Not Python解説

スポンサーリンク

Star or Not

N 頂点 N−1 辺の木が与えられます。
頂点には 1,2,…,N の番号がついており、i 本目の辺は頂点 aiと頂点 biを結んでいます。
この木がスターであるか判定してください。ただしスターとは、1 つの頂点から、他の全ての頂点に 1 本ずつ辺が出ている木のことです。

AtCoder Beginner Contest「Star or Not」

入力から頂点の数Nと頂点a, bを結ぶ辺が与えられます。頂点a, bの番号を数えて、N -1の頂点があるならスターなのでYes、そうでなければNoを出力します。

n = int(input())

result = [0] * (n + 1)

for _ in range(n - 1):
    a, b = map(int, input().split())
    result[a] += 1
    result[b] += 1
    
print("Yes" if n - 1 in result else "No")

入力から頂点a, bを結ぶ辺があたえられるので、result[a] += 1、result[b] += 1とカウントアップしていきます。最後に頂点の数N – 1を持つ要素があればYes、そうでなければNoを出力して完了です。

AtCoderB問題

Posted by cheese