無限に広い 平面上の原点にロボットがあります。 あなたは、好きな非負整数 を選び、それを入力して一度だけロボットを起動します。 ロボットが後述のプログラムに従って動くとき、ちょうど点 でロボットが停止するようにできますか。
■ロボットのプログラム
ここでは、 回の問いに答えてください。 ただし、ロボットは 回ごとに原点に戻して起動します。
【参考図】
T X_1 Y_1 X_2 Y_2 ... X_T Y_T
行出力し、 行目には、 番目に与えられた座標でロボットを停止させることが可能であれば Yes
を、
不可能であれば No
を出力してください。
4 2 2 100 0 20 25 20210628 20201210
Yes Yes No Yes
番目の問いに対して、例えば と設定します。 この時、ロボットは 軸正の向きに 、 軸正の向きに 、 軸負の向きに と順に進んだのち、 次に進むべき距離が 以下となりますので停止します。座標の推移は →→→ です。 これは、問題文末尾の参考図に記載されたものと同じ動きです。 なお、例えば といった設定でもロボットをこの座標で停止させることが可能です。
番目の問いに対しては、 などの設定で条件を満たすことが出来ます。この際、ロボットは 軸正の向きに 進んだ後、 次に進むべき距離を計算すると負になりますが、本来と逆向きに動くなどの動作をすることなく直ちに停止することに注意してください。