ABC204 - Atcoder/Python精進のための解説メモ

カレンダーアイコン
2021/07/14

ABC204 - A.Rock-paper-scissors

AtCoder公式 | ABC204 - A.Rock-paper-scissors

解答

x, y = map(int, input().split())
if x == y:
    print(x)
elif x + y == 1:
    print(2)
elif x + y == 2:
    print(1)
else:
    print(0)

要点解説メモ

  • シンプルに場合わけ

ABC204 - B.Nuts

AtCoder公式 | ABC204 - B.Nuts

解答

n = int(input())
aaa = list(map(int, input().split()))
ans = 0
for a in aaa:
    a -= 10
    if 0 < a:
        ans += a
print(ans)

要点解説メモ

  • 10ひいて0より大きい値を合算する

ABC204 - C.Tour

AtCoder公式 | ABC204 - C.Tour

解答

from collections import deque

def bfs(s):
    q = deque()
    q.append(s)
    visit = [0] * (n + 1)
    visit[s] = 1
    while q:
        i = q.popleft()
        for j in g[i]:
            if not visit[j]:
                q.append(j)
                visit[j] = 1
    return sum(visit)

n, m = map(int, input().split())
g = [[] for _ in range(n + 1)]
for _ in range(m):
    a, b = map(int, input().split())
    g[a].append(b)

ans = 0
for i in range(1, n + 1):
    ans += bfs(i)
print(ans)

要点解説メモ

  • BFSでもDFSでも可能
  • うまく実装できなかったので、BFS・DFSはたくさん書いて慣れておいたほうがよさそう

ABC204 - D.

AtCoder公式 | ABC204 - D.

解答

まだ解いていません

要点解説メモ