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

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

ABC200 - A.Century

AtCoder公式 | ABC200 - A.Century

解答

n = int(input())
print(n // 100 if n % 100 == 0 else n // 100 + 1)

要点解説メモ

  • シンプルにやる

ABC200 - B.200th ABC-200

AtCoder公式 | ABC200 - B.200th ABC-200

解答

n, k = map(int, input().split())

def f(n):
    if n % 200 == 0:
        return int(n / 200)
    else:
        return int(n * 1000 + 200)

for _ in range(k):
    n = f(n)

print(n)

要点解説メモ

  • 文字列nの末尾に200を足すのは、nを1000倍して200足すのと同義

ABC200 - C.Ringo's Favorite Numbers 2

AtCoder公式 | ABC200 - C.Ringo's Favorite Numbers 2

解答

n = int(input())
aaa = list(map(int, input().split()))
cnt = [0] * 200
for a in aaa:
    cnt[a % 200] += 1
cnt = [c * (c - 1) / 2 for c in cnt]
print(int(sum(cnt)))

要点解説メモ

  • 全探索すると間に合わない
  • 200で割ったあまりが同じ値を2つ取り出すとき、条件を満たすので、先に200で割ったあまりそれぞれの個数を数えておいて、各値cにおいて2つ取り出す場合の数を計算する

ABC200 - D.

AtCoder公式 | ABC200 - D.

解答

まだ解いていません

要点解説メモ