自分用の勉強記録もかねて、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です。
コメント