AtCoder-ABC211 A - Blood Pressure / B - Cycle Hit【Python解答例】
AtCoder Beginner Contest211のA とB問題についてPythonの解答例を記事にしていきます。
AtCoder Beginner Contest 211 - AtCoder
AtCoder Beginner Contest211 A - Blood Pressure
制約
・50≤B≤A≤300
・入力に含まれる値は全て整数である
解答例
a, b = map(int,input().split()) ans = b + (a - b) / 3 print(ans)
AtCoder Beginner Contest211 B - Cycle Hit
問題文
4 つの文字列 S1,S2,S3,S4 が与えられます。
この中に、H , 2B , 3B , HR がそれぞれ 1 つずつあるか判定してください。
ただし、全ての Si は H , 2B , 3B , HR のいずれかと一致します。
制約
・Si は H , 2B , 3B , HR のいずれかと一致する
解答例
S = [] for i in range(4): S.append(input()) S.sort() flag = True if S[0] != "2B": flag = False if S[1] != "3B": flag = False if S[2] != "H": flag = False if S[3] != "HR": flag = False if flag: print("Yes") else: print("No")
解説
与えられる4つの文字列にH , 2B , 3B , HRがひとつずつあるか答える問題です。
入力をすべて配列Sに格納し、ソートします。
もし、サイクルヒットの条件が満たされていれば、2B,3B,H,HRの順にリストに格納されているので、順番に確かめていきます。
どこかで文字列が異なっていたらflagをFalseにして未達成を記録しておきます。
最後にflagにあわせて出力すればOKです。
ABC211の関連記事はこちら
ebisuke33.hatenablog.com
ebisuke33.hatenablog.com