AtCoder Beginner Contest 243 参加記録
更新
タグ:
AtCoder Beginner Contest 243に参加しました。
今回の結果はAB2完でした。
レーティング変化は384→397でした。
早解きを意識したので、それのおかげで若干パフォーマンスが上がったように思います。
茶色まであと3…。
A - Shampoo
V / (A + B + C)の余りを求めて、その余りに対してifで場合分けすると楽に解けます。
v, a, b, c = map(int, input().split())
total = a+b+c
rem = v % total
if rem-a < 0:
print("F")
elif rem-a-b < 0:
print("M")
elif rem-a-b-c < 0:
print("T")
B - Hit and Blow
問題文の通りにリストの要素をループで回して検証すれば解けます。
n = int(input())
an = list(map(int, (input().split())))
bn = list(map(int, (input().split())))
ans1 = 0
ans2 = 0
for i, a in enumerate(an):
if(an[i] == bn[i]):
ans1 += 1
elif a in bn:
ans2 += 1
print(ans1)
print(ans2)
C - Collision 2
工夫して計算量を圧縮していく問題です。
O(N^2)になるまで計算量を絞り込めたのですが、次の一押しを思いつくことが出来ませんでした。解説を読んでやっと理解…。
まだまだ数学的な思考力が足りないですね。
D~Ex
問題文すら見ていないので省略~~~。
感想
C問題は途中まで解けかかってただけに悔しいです。
茶色昇格はお預けになってしまいましたが、次回こそ茶色になれるよう精進します。