AT_arc103_b [ABC111D] Robot Arms
Description
[problemUrl]: https://atcoder.jp/contests/abc111/tasks/arc103_b
すぬけ君の工場では,次のような特徴を持つ **ロボットアーム** を導入することになりました:
- ロボットアームは,$ m $ 個の **腕** と $ m+1 $ 個の **関節** からなる.腕には $ 1 $, $ 2 $, ..., $ m $ で,関節には $ 0 $, $ 1 $, ..., $ m $ で番号が付けられている.腕 $ i $ は関節 $ i-1 $ と関節 $ i $ をつなぐ.腕 $ i $ の長さは $ d_i $ である.
- 各腕には,それぞれ独立に **モード** を指定することができる.モードは `L`, `R`, `D`, `U` のいずれかであり,腕のモードはその腕の向きを指定する.工場を座標平面とみなすと,関節 $ i $ の座標 $ (x_i,\ y_i) $ は次のように定まる:
- $ (x_0,\ y_0)\ =\ (0,\ 0) $.
- 腕 $ i $ のモードが `L` のとき,$ (x_i,\ y_i)\ =\ (x_{i-1}\ -\ d_{i},\ y_{i-1}) $.
- 腕 $ i $ のモードが `R` のとき,$ (x_i,\ y_i)\ =\ (x_{i-1}\ +\ d_{i},\ y_{i-1}) $.
- 腕 $ i $ のモードが `D` のとき,$ (x_i,\ y_i)\ =\ (x_{i-1},\ y_{i-1}\ -\ d_{i}) $.
- 腕 $ i $ のモードが `U` のとき,$ (x_i,\ y_i)\ =\ (x_{i-1},\ y_{i-1}\ +\ d_{i}) $.
すぬけ君は,腕のモードをうまく指定することにより,$ N $ 個の点 $ (X_1,\ Y_1),\ (X_2,\ Y_2),\ ...,\ (X_N,\ Y_N) $ のいずれにもロボットアームの関節 $ m $ をちょうど一致させられるようなロボットアームを導入したいです. このようなことは可能でしょうか? 可能ならば,条件を満たすロボットアームおよび,各点 $ (X_j,\ Y_j) $ にそのロボットアームの関節 $ m $ を到達させるためのモードの指定方法を求めてください.
Input Format
N/A
Output Format
N/A
Explanation/Hint
### 制約
- 入力はすべて整数である
- $ 1\ \leq\ N\ \leq\ 1000 $
- $ -10^9\ \leq\ X_i\ \leq\ 10^9 $
- $ -10^9\ \leq\ Y_i\ \leq\ 10^9 $
### 部分点
- $ 300 $ 点分のテストケースでは,$ -10\ \leq\ X_i\ \leq\ 10 $ および $ -10\ \leq\ Y_i\ \leq\ 10 $ が成り立つ.
### Sample Explanation 1
それぞれの $ (X_j,\ Y_j) $ にロボットアームの関節 $ m $ を到達させる方法において,各関節の位置は次のようになります. - $ (X_1,\ Y_1)\ =\ (-1,\ 0) $ に到達させる方法では,まず関節 $ 0 $ の位置は $ (x_0,\ y_0)\ =\ (0,\ 0) $ です.腕 $ 1 $ のモードが `R` なので,関節 $ 1 $ の位置は $ (x_1,\ y_1)\ =\ (1,\ 0) $ です.腕 $ 2 $ のモードが `L` なので,関節 $ m=2 $ の位置は $ (x_2,\ y_2)\ =\ (-1,\ 0) $ です. - $ (X_2,\ Y_2)\ =\ (0,\ 3) $ に到達させる方法では,$ (x_0,\ y_0)\ =\ (0,\ 0),\ (x_1,\ y_1)\ =\ (0,\ 1),\ (x_2,\ y_2)\ =\ (0,\ 3) $ です. - $ (X_3,\ Y_3)\ =\ (2,\ -1) $ に到達させる方法では,$ (x_0,\ y_0)\ =\ (0,\ 0),\ (x_1,\ y_1)\ =\ (0,\ -1),\ (x_2,\ y_2)\ =\ (2,\ -1) $ です.
### Sample Explanation 3
$ (X_j,\ Y_j) $ の中に同じ点が含まれることもあります.