なんだかんだ言いつつやったりやらなかったりです。
CがTLEする解法しかわからないのでそこで終了しました。
A.Plural Form
S[-1]が"s"なら"es"、そうでないなら"s"を付けてやればよいですね。
s=input()
print(s+"es" if s[-1]=="s" else s+"s")
B.Go to Jail
短絡評価するからこういう条件式でいいはず。
n=int(input())
d=[[int(i)for i in input().split()]for j in range(n)]
res="No"
for i in range(n-2):
if d[i][0]==d[i][1] and d[i+1][0]==d[i+1][1] and d[i+2][0]==d[i+2][1]:
res="Yes"
break
print(res)
C.A x B + C
1<=i<Nとなる各iに対してN-iの約数の数を足していく感じかなーと思ったのですがTLEしました。
計算量が$N\sqrt{N}$なので$10^9$になってダメなんですね。
ここからどうするのかわからんので終わり。
def aaa(x):
res=[]
for i in range(1,int(x**0.5)+1):
if x%i==0:
res.append(i)
if x/i != i:
res.append(x/i)
return len(res)
n=int(input())
res=0
for i in range(1,n):
res+=aaa(n-i)
print(res)
解説みたら「Cは1つしかないのでA*B<Nとなる(A,B)の組の数を求めればいい」とか言われてあーなるほどね完全に理解したってなった。
こういう問題の読み換えがドチャクソ苦手というのがわかる。なんか前にも同じこと言った覚えがある。
おわり