トヨタ自動車プログラミングコンテスト2024#9(AtCoder Beginner Contest 370)の解説記事です。
目次
ABC370 A – Raise Both Hands
問題
問題文の要約は以下の通りです。
問題の要約
高橋君はすぬけ君に、たこ焼きを食べたいならば左手のみを挙げて、そうでないならば右手のみを挙げるよう指示した。すぬけ君が挙げた手の情報は整数 \(L,R\) によって与えられる。 すぬけ君は \(L=1\) のとき左手を挙げており、\(R=1\) のとき右手を挙げている。すぬけ君が片方の手のみを挙げている場合、すぬけ君がたこ焼きを食べたいならば Yes
を、そうでないならば No
を出力せよ。すぬけ君が両手を挙げているか、手を挙げていないときは Invalid
と出力せよ。
解説
条件を整理して、if
文で場合分けを行う。
L(左手) | R(右手) | 動作 | 出力 |
---|---|---|---|
1 | 0 | 左手のみを挙げている | Yes |
0 | 1 | 右手のみを挙げている | No |
0 | 0 | 手を挙げていない | Invalid |
1 | 1 | 両手を挙げている | Invalid |
解説
まず入力を受け取ります。
# 入力
L,R=map(int,input().split())
左手のみ挙げている場合は Yes
を出力、右手のみ挙げている場合はNo
を出力、それ以外(両手を挙げている、または手を挙げていない)場合はInvalid
を出力する。
# 左手のみ挙げている場合
if L==1 and R==0:
print('Yes')
# 右手のみ挙げている場合
elif L==0 and R==1:
print('No')
# それ以外(両手を挙げている、または手を挙げていない)場合
else:
print('Invalid')
解答
# 入力
L,R=map(int,input().split())
# 左手のみ挙げている場合
if L==1 and R==0:
print('Yes')
# 右手のみ挙げている場合
elif L==0 and R==1:
print('No')
# それ以外(両手を挙げている、または手を挙げていない)場合
else:
print('Invalid')