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

2020/11/26

ABC056 - A.HonestOrDishonest

AtCoder公式 | ABC056 - A.HonestOrDishonest

解答

a, b = input().split()
print('H' if a == b else 'D')
        

要点メモ

  • たかだか4パターンなのでそれぞれ考えてみると、a, bのどちらも同じ時はH、違う場合はDだとわかる

ABC056 - B.NarrowRectanglesEasy

AtCoder公式 | ABC056 - B.NarrowRectanglesEasy

解答

w, a, b = map(int, input().split())
if abs(a - b) < w:
    ans = 0
else:
    ans = abs(a - b) - w
print(ans)

要点メモ

  • abの差がwより小さいかどうかで場合分けすれば良いだけ

ABC056 - C.Go Home

AtCoder公式 | ABC056 - C.Go Home

解答

x = int(input())
i = 0
tmp = 0
while tmp < x:
    tmp += i + 1
    i += 1
print(i)

要点メモ

  • 考察によって、最短はxを超えるまでプラスに進み続けた時だとわかる
  • xをオーバーしたとしても、そのオーバー分と同様の秒でなにもしないを選択すればよい
  • なのでシンプルにxをオーバーするまでジャンプし、オーバーしたときの時間を出すだけ

ABC056 - D.

AtCoder公式 | ABC056 - D.

解答

まだ解いてません