ABC204 - Atcoder/Python精進のための解説メモ
2022/12/27
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.解答
まだ解いていません