N - Nonsymmetric Matrix
解説
/


実行時間制限: 2 sec / メモリ制限: 1024 MiB
配点 : 100 点
問題文
各成分が整数である N 行 N 列の行列 A = (A_{i, j}) であって以下の条件を満たすものが存在するか判定し、存在する場合は \max |A_{i, j}| が最小になるものを 1 つ出力してください。
- 各行の数の和が 0、すなわち任意の 1 \leq i \leq N に対して \sum_{j = 1}^{N} A_{i, j} = 0
- 各列の数の和が 0、すなわち任意の 1 \leq j \leq N に対して \sum_{i = 1}^{N} A_{i, j} = 0
- i \neq j のとき A_{i, j} \neq A_{j, i}
制約
- N は 1 以上 1000 以下の整数
入力
入力は以下の形式で標準入力から与えられる。
N
出力
条件を満たす行列が存在しない場合、No
を出力せよ。
条件を満たす行列が存在する場合、N + 1 行出力せよ。1 行目には Yes
を出力し、2 行目以降には条件を満たす行列のうち \max |A_{i, j}| が最小になるものを以下の形式で 1 つ出力せよ。
A_{1, 1} A_{1, 2} \ldots A_{1, N} A_{2, 1} A_{2, 2} \ldots A_{2, N} \vdots A_{N, 1} A_{N, 2} \ldots A_{N, N}
入力例 1
3
出力例 1
Yes 1 -1 0 0 1 -1 -1 0 1
A = ((1, -1, 0), (0, 1, -1), (-1, 0, 1)) は条件を満たす行列の 1 つです。