Chapter 05

ABC225

Meg
Meg
2021.11.01に更新

どうもこんにちは、Megです。
このチャプターでは、PythonでAtCoder Beginner Contest 225 の解説を行っていきます。

A - Distinct Strings

問題はこちら。

https://atcoder.jp/contests/abc225/tasks/abc225_a

コードは以下です!自分の提出はこちら

A.py
S = set(input())

if len(S) == 3:
    print(6)
elif len(S) == 2:
    print(3)
else:
    print(1)

コード解説

文字列Ssetの型で受け取ります。こうすることで、Sが重複がないように受け取れます。

Sの中身が3のとき、文字に重複はないので、3! = 6通りです。
Sの中身が2のとき、1文字重複しているので、\frac {3!} {2!} = 3通りです。
Sの中身が1のとき、文字列S1文字で構成されているので、1通りです。

上記の条件をif文で記述すればOKです。

B - Star or Not

問題はこちら。

https://atcoder.jp/contests/abc225/tasks/abc225_b

コードは以下です!自分の提出はこちら

B.py
N = int(input())


for i in range(N - 1):
    if i == 0:
        ans = set(map(int, input().split()))
        continue
    ab_i = set(map(int, input().split()))
    ans = ab_i & ans
    if len(ans) == 0:
        print("No")
        break

if len(ans) == 1:
    print("Yes")

コード解説

木がスターになるには、a_i, b_i (i = 1 \cdots N)全てにおいて共通の頂点の値が存在しなければなりません。

参考

https://note.nkmk.me/python-set/

C問題以降

誠意記事作成中です…!