AtCoder Beginner Contest 158 過去問
A問題
難なくクリア
str_ = input() print('Yes') if 'A' in str_ and 'B' in str_ else print('No')
B問題
青球をA個、赤球をB個並べて、N個目までの青球の数を数える問題。
最初に提出したのはWAで弾かれました。
n, a, b = map(int, input().split(' ')) print(int(n%(a+b))+int((n//(a+b))*a))
最後の周期で並んでいる青球の個数をmin(N%(A+B), A)で数えています。
n, a, b = map(int, input().split(' ')) print(min(int(n%(a+b)),a)+int((n//(a+b))*a))
C問題
8%時の消費税額A、10%時の消費税額Bが一致する金額の最少額を求める問題。
注意は5円が消費税額となるのは5.00~5.99...円としています。
こんな事しなくとも1~1000の総当たりで、
8%と10%の消費税額が一致するときに、printした方がシンプルですね・・・。
a, b = map(int, input().split(' ')) b_l = list(range(int(b/0.1), int((b+0.99)//0.1+1))) for b_ in b_l: s = int(b_*0.08//1) if s==a: print(str(b_)) exit(0) print('-1')
D問題
題で示された操作の通り、文字列変換をしていきます。
しかし判定はTLE。
恐らくテストケース後半で長い文字列が与えられてるのでしょう。
s = input() q_ = int(input()) for q in range(q_): t = input().split(' ') if t[0]=='1': s=s[::-1] elif t[0]=='2': if t[1]=='1': s=t[2]+s elif t[1]=='2': s+=t[2] print(s)