[PythonでAtcoder] AtCoder Beginner Contest 179 解説

スポンサーリンク

自分用の勉強記録もかねて、Atcoderの解説をしていきたいと思います。

今回は、AB完答でした。CはTLEでアウトという感じです。久しぶりの挑戦!

A~Cについて解説していきます。

僕もプログラミングについて絶賛学習中なので、間違えなどありましたら気軽にご連絡ください。

スポンサーリンク

A-Plural Form

問題はこちら

text = input()
if text[-1] == 's':
  text += 'es'
else:
  text += 's'
print(text)

シンプルに文字列の最後の文字を取得して判定すればOK。

B-Go to Jail

問題はこちら

n = int(input())
num = 0
flag = True
for _ in range(n):
    a, b = map(int, input().split())
    if a ==b:num +=1
    else: num =0
    if num ==3:
        flag= False
        print('Yes')
        break
if(flag):print('No')

これもシンプルな問題です。

ループを回しながらゾロ目ならnumを増やし、ゾロ目以外ならnumを0に戻します。

3連続でゾロ目の場合num=3となり、ループから外れます。

C-A x B + C

問題はこちら

n = int(input())
ans = 0
for a in range(1, n):
  ans += (n - 1) // a
print(ans)

完全に数学の問題という感じです。公式の解説通りに解説していきます。

AとBが決まればCは一意に決まります。Aを固定した場合、Bには1、2・・・と数が入ります。

Bの最大値は、A×B<=N-1なので、[n-1/A](n-1/A の商)になります。

これでループを回していけばOKです。

コメント

タイトルとURLをコピーしました