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

カレンダーアイコン
2021/09/21

ABC199 - A.Square Inequality

AtCoder公式 | ABC199 - A.Square Inequality

解答

a, b, c = map(int, input().split())
print('Yes' if a ** 2 + b ** 2 < c ** 2 else 'No')

要点解説メモ

  • そのまま書く

ABC199 - B.Intersection

AtCoder公式 | ABC199 - B.Intersection

解答

n = int(input())
aaa = list(map(int, input().split()))
bbb = list(map(int, input().split()))
print(min(bbb) - max(aaa) + 1 if min(bbb) - max(aaa) >= 0 else 0)

要点解説メモ

  • 境界値に注意

ABC199 - C.IPFL

AtCoder公式 | ABC199 - C.IPFL

解答

n = int(input())
s = list(input())
q = int(input())
is_flipped = 0

for _ in range(q):
    t, a, b = map(int, input().split())

    if t == 2:
        is_flipped ^= 1
        continue

    a -= 1
    b -= 1
    if is_flipped:
        a = (a + n) % (2 * n)
        b = (b + n) % (2 * n)
    s[a], s[b] = s[b], s[a]

if is_flipped:
    s = s[n:] + s[:n]

print(''.join(s))

要点解説メモ

  • フリップする処理を毎回行っていると間に合わない
  • 実験してみて最後にまとめてフリップさせる場合の処理を書く

ABC199 - D.

AtCoder公式 | ABC199 - D.

解答

まだ解いていません

要点解説メモ