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

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

ABC203 - A.Chinchirorin

AtCoder公式 | ABC203 - A.Chinchirorin

解答

a, b, c = map(int, input().split())
if a == b:
    print(c)
elif b == c:
    print(a)
elif c == a:
    print(b)
else:
    print(0)

要点解説メモ

  • シンプルに条件分岐する
  • 3つ同じ場合はどれを出力しても同じなので、スルーして大丈夫

ABC203 - B.AtCoder Condominium

AtCoder公式 | ABC203 - B.AtCoder Condominium

解答

n, k = map(int, input().split())
ans = 0
for i in range(1, n + 1):
    for j in range(1, k + 1):
        ans += i * 100 + j
print(ans)

要点解説メモ

  • シンプルに足す

ABC203 - C.Friends and Travel costs

AtCoder公式 | ABC203 - C.Friends and Travel costs

解答

n, k = map(int, input().split())
abab = [list(map(int, input().split())) for _ in range(n)]
friends = {}
for a, b in abab:
    friends.setdefault(a, 0)
    friends[a] += b
for pos, money in sorted(friends.items()):
    if pos <= k:
        k += money
    else:
        break
print(k)

要点解説メモ

  • 各地点でもらえるお金をdictで用意する
  • 所持金を減らさず、所持金=到達できる最高地点として比較していくとシンプルかも
  • dictでキーがなければ追加、あればvalueを足す処理は、setdefaultを使うとif分岐なくてよいかも

ABC203 - D.

AtCoder公式 | ABC203 - D.

解答

まだ解いていません

要点解説メモ