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

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

ABC188 - A.Three-Point Shot

AtCoder公式 | ABC188 - A.Three-Point Shot

解答

x, y = map(int, input().split())
print('Yes' if abs(x - y) < 3 else 'No')

要点解説メモ

  • 差が3以下なら逆転できる

ABC188 - B.Orthogonality

AtCoder公式 | ABC188 - B.Orthogonality

解答

n = int(input())
aaa = list(map(int, input().split()))
bbb = list(map(int, input().split()))
prod = 0
for i in range(n):
    prod += aaa[i] * bbb[i]
print('Yes' if prod == 0 else 'No')

要点解説メモ

  • 問題文をそのまま実行すれば、内積をしらなくても解ける
  • よくわからない時は、愚直にやるだけにしちゃうのは大事

ABC188 - C.

AtCoder公式 | ABC188 - C.

解答

n = int(input())
aaa = tuple(map(int, input().split()))
max_al = max(aaa[:2 ** (n - 1)])
max_ar = max(aaa[2 ** (n - 1):2 ** n])
print(aaa.index(max_al) + 1 if max_al < max_ar else aaa.index(max_ar) + 1)

要点解説メモ

  • 最後に戦うのは、前半分の最大レートの人と、後半分の最大レートの人。
  • なのでその2人を比べて、レートが低いほうの人が準優勝
  • Cにしてはだいぶ簡単な問題かも?

ABC188 - D.

AtCoder公式 | ABC188 - D.

解答

まだ解いていません

要点解説メモ