AT_tupc2024_h 12 Grid
Description
$ N \times N $ のグリッドがあります。上から $ i $ 行目、左から $ j $ 列目のマスをマス $ (i,j) $ と表します。
また、 $ M $ 個の整数の $ 4 $ つ組 $ (t_k,i_k,j_k,d_k)\; (k=1,2,\dots,M) $ が与えられます。 $ (t,i,j,d) $ は以下を満たします。
- $ t $ は $ 0 $ または $ 1 $
- $ t=0 $ ならば $ 1 \leq i\leq N-1, 1 \leq j \leq N $
- $ t=1 $ ならば $ 1 \leq i \leq N, 1 \leq j \leq N-1 $
- $ d $ は $ 1 $ または $ 2 $
グリッドの各マスに整数を書き込む方法であって、以下の条件をすべて満たすものがあるか判定し、存在するならば一つ構成してください。
- 各マスに書かれている整数は $ 0 $ 以上 $ 10^9 $ 以下の整数である
- 上下左右に隣接するマスに書かれている整数の差の絶対値は $ 1 $ か $ 2 $ である
- 各 $ k=1,2,\dots,M $ について、以下が成り立つ
- $ t_k=0 $ ならば、マス $ (i_k,j_k),(i_k+1,j_k) $ に書かれている整数の差の絶対値は $ d_k $ である
- $ t_k=1 $ ならば、マス $ (i_k,j_k),(i_k,j_k+1) $ に書かれている整数の差の絶対値は $ d_k $ である
Input Format
入力は以下の形式で標準入力から与えられる。
> $ N $ $ M $ $ t_1 $ $ i_1 $ $ j_1 $ $ d_1 $ $ t_2 $ $ i_2 $ $ j_2 $ $ d_2 $ $ \vdots $ $ t_M $ $ i_M $ $ j_M $ $ d_M $
Output Format
条件を満たす書き込み方が存在しないならば `No` を出力せよ。
存在するならば、 $ N+1 $ 行出力せよ。 $ 1 $ 行目には `Yes` と出力せよ。 $ i+1 \; (i=1,2\dots,N) $ 行目には、マス $ (i,1),(i,2),\dots,(i,N) $ に書き込む整数をこの順に空白区切りで出力せよ。
解が複数存在する場合、どれを出力しても良い。
Explanation/Hint
### Sample Explanation 1
他にも、
```
Yes
5 4
3 2
```
なども正解になります。
### Sample Explanation 2
他にも、
```
Yes
0 2
2 1
```
なども正解になります。
### Sample Explanation 3
条件を満たす書き込み方は存在しません。
### Constraints
- $ 1 \leq N \leq 1000 $
- $ 0 \leq M \leq \min\{2 \times 10^5,2N(N-1)\} $
- $ (t_k,i_k,j_k,d_k) $ は問題文の条件を満たす
- $ k \neq \ell $ ならば $ (t_k,i_k,j_k) \neq (t_\ell,i_\ell,j_\ell) $
- 入力はすべて整数