B: ドローン - AtCoder Beginner Contest 035

B: ドローン - AtCoder Beginner Contest 035 | AtCoder

 

ACしたソースコード

 

最後の1点が取れなかった考察

制約条件から,T=2だけWAしていることが分かる.
「?」の数をk,dis=|x|+|y|とする.
まず,「?」は三種類の挙動が考えられる.

  1. 原点方向に戻るだけ(dis-k)
  2. できるだけ現在地に留まる(k%2)
  3. ある程度,原点方向に戻って,ある地点で現在地に留まる(1,2のハイブリッド)

3を失念していたので,WAし続けていた.
3で言う「ある地点」は,深く考えていないけれど,たぶん原点のことで,原点に戻ってしまったら,2の通りにしたほうがいい.
逆に,原点以外で2は効果がない.

一度遠ざかってから近付くと原点ぴったりに止まれるのではないかとうっすら考えたけど,それはなかった.