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問題は途中まで解けかかってただけに悔しいです。

茶色昇格はお預けになってしまいましたが、次回こそ茶色になれるよう精進します。