Codeforces Round #180 (Div. 2)
はい。
http://codeforces.com/contest/298
B. Sail
ざっくりと大意
・(\(s_x\),\(s_y\))から(\(e_x\),\(e_y\))へ移動したい
・スタートと目的地の座標が違うことは保証されている
・iの風向きで移動したり、錨をおろしてその場に留まったりで移動完了の最短はいつか?
方針のようなもの
・スタートと目的地の座標の差と、風向きで風向きが足りているかどうか
t,sx,sy,ex,ey=map(int,raw_input().split()) w=raw_input() mx=ex-sx my=ey-sy if (mx>0 and mx>w.count('E')) or (mx<0 and -mx>w.count('W')): print -1 exit() if (my>0 and my>w.count('N')) or (my<0 and -my>w.count('S')): print -1 exit() ans=chk=0 for i in w: ans+=1 if mx>0 and i=='E': mx-=1 if mx<0 and i=='W': mx+=1 if my>0 and i=='N': my-=1 if my<0 and i=='S': my+=1 if mx==my==0: print ans exit()