読者です 読者をやめる 読者になる 読者になる

君はまるで砂漠に咲く、一輪の花。

僕はその花に引き寄せられる蝶。

Codeforces Round #362 (Div.2)

はい。
http://codeforces.com/contest/697

A. Pineapple Incident

ざっくりと大意

・Tedは初回はt秒の時に吠える。2回目はt+s秒の時に吠える。3回目は1秒空けてt+s+1秒の時に吠える。4回目はt+2s秒後に吠える...
・x秒が吠えてるタイミングの時かどうか。

Python2

t,s,x=map(int,raw_input().split())
ans=(x-t)%s
print 'YES' if x>=t and (ans==0 or (ans==1 and x!=t+1)) else 'NO'

初回がtからsずつ増えていくので判定したいxからtを引いて、sで割り切れるかを試した。但し2回目以降の吠えが+1秒後もありなので条件追加が必要。最初は制限とか確認せずwhileでシミュしてTLE、その後に何回か条件書き違ってWAとかした。。

B. Barnicle

ざっくりと大意

・小数点をe*の分だけ右にずらして整形する。

Python2

ad,b=map(str,raw_input().split('e'))
a,d=ad.split('.')
b=int(b)
ans=chk=0
if len(d)>=b:
    d=d[:b]+'.'+d[b:]
else:
    d+='0'*(b-len(d))+'.'
print a+d.rstrip('0').rstrip('.')

ずらすのに桁が足りないと0を足したり、右端に.0とかの消すものが残ったときの処理に注意が必要。