No.3765 321-avoiding Grid
レベル : / 実行時間制限 : 1ケース 1.000秒 / メモリ制限
: 1024 MB / スペシャルジャッジ問題 (複数の解が存在する可能性があります)
タグ : / 解いたユーザー数 36
作問者 :
apricity
/ テスター :
👑
AngrySadEight
タグ : / 解いたユーザー数 36
作問者 :
apricity
/ テスター :
👑
問題文最終更新日: 2026-10-15 05:51:25
yukicoder contest 518
(順位表)
の他の問題:
問題文
$2$ 以上の整数 $N$ と $A+B+C = N^2$ を満たす正整数 $A,B,C$ が与えられます.
$N$ 行 $N$ 列のマス目の各マスに $1,2,3$ のいずれかの数字を書き込む方法であって,以下の条件をすべて満たすものの一例を示してください.
- $1$ が書かれたマスはちょうど $A$ 個存在する.
- $2$ が書かれたマスはちょうど $B$ 個存在する.
- $3$ が書かれたマスはちょうど $C$ 個存在する.
- 上下左右に隣接するマスに移動することを考える.あるマスから始めて移動を $2$ 回繰り返す方法であって,通ったマスに書かれた数字が順に $3,2,1$ になるものが存在 しない .
なお,条件を満たす書き込み方が $1$ つ以上存在することが証明できます.
入力
$N\ A\ B\ C$
- 入力は全て整数.
- $2 \leq N \leq 500$
- $1 \leq A,B,C$
- $A+B+C = N^2$
出力
上から $i$ 行目,左から $j$ 列目のマスに書き込む数字を $S_{i,j}$ とします. $S$ を以下の形式に従って出力してください.
$S_{1,1}S_{1,2}\dots S_{1,N}$
$S_{2,1}S_{2,2}\dots S_{2,N}$
$\vdots$
$S_{N,1}S_{N,2}\dots S_{N,N}$
条件を満たす $S$ が複数存在する場合,どれを出力しても正解とみなされます.
サンプル
サンプル1
入力
2 2 1 1
出力
12 31
上から $i$ 行目,左から $j$ 列目のマスを $(i,j)$ と表します.以下に移動を $2$ 回繰り返す方法の例を挙げます.
- $(1,1) \rightarrow (1,2) \rightarrow (2,2)$ と移動するとき,通ったマスに書かれた数字は順に $1,2,1$ です.
- $(2,1) \rightarrow (1,1) \rightarrow (1,2)$ と移動するとき,通ったマスに書かれた数字は順に $3,1,2$ です.
通ったマスに書かれた数字が順に $3,2,1$ になるような移動方法は存在せず,この書き込み方は確かに条件を満たしています.
サンプル2
入力
3 4 4 1
出力
121 221 213
サンプル3
入力
3 3 3 3
出力
121 313 232
提出するには、Twitter 、GitHub、 Googleもしくは右上の雲マークをクリックしてアカウントを作成してください。