AT_ahc065_a [AHC065A] Conveyor Design
题目背景
AtCoder 社は、[通信販売用のオリジナルグッズ](https://suzuri.jp/AtCoder/products) を保管するための倉庫を新しく導入した。 倉庫には、T シャツやキーホルダー、アクリルスタンドなどが入った箱が大量に並べられており、それぞれの箱には管理番号が付けられている。
ところが、搬入作業を急いだため、箱は番号順とはまったく関係のない場所に置かれてしまった。 今後の在庫管理のため、箱を管理番号の小さい順に搬出口へ取り出したい。
そこで、高橋社長は、倉庫内に環状のベルトコンベアを設置し、箱をうまく循環移動させることで、できるだけ少ない操作回数ですべての箱を取り出そうと考えた。
题目描述
有一个 $N \times N$ 的仓库。将左上角的单元格坐标记为 $(0,0)$,位于其下方 $i$ 格、右侧 $j$ 格的单元格坐标为 $(i,j)$。单元格 $(0, N/2)$ 处设有仓库的出口。
仓库内编号从 $0$ 到 $N^2-1$ 的箱子各有且仅有一个。初始时,放置于单元格 $(i,j)$ 的箱子编号为 $a_{i,j}$。
首先,可以在仓库内安装至多 $N^2$ 个环形装置,下文称为“传送带”。
第 $m$ 个传送带由一系列单元格
\[
(i_{m,0},j_{m,0}), (i_{m,1},j_{m,1}), \ldots, (i_{m,l_m-1},j_{m,l_m-1})
\]
组成,其中 $l_m$ 是该传送带的长度。
每个传送带必须满足以下条件:
- $l_m \geq 2$。
- 对任意 $x=0,\ldots,l_m-1$,均有 $0\leq i_{m,x}, j_{m,x}
输入格式
输入由标准输入给出,格式如下:
> $N$
> $a_{0,0}\ a_{0,1}\ \cdots\ a_{0,N-1}$
> $\vdots$
> $a_{N-1,0}\ a_{N-1,1}\ \cdots\ a_{N-1,N-1}$
- 所有测试用例中 $N$ 均固定为 $20$。
- $a_{i,j}$ 表示初始时放在单元格 $(i,j)$ 的箱子编号。
- $a_{i,j}$ 满足 $0\leq a_{i,j}\leq N^2-1$。
- 数组 $a$ 恰好包含 $0$ 到 $N^2-1$ 的每个整数各一次。
输出格式
首先输出要安装的传送带数量 $M$,然后是每个传送带的描述,格式如下:
> $M$
> $l_0\ i_{0,0}\ j_{0,0}\ \cdots\ i_{0,l_0-1}\ j_{0,l_0-1}$
> $\vdots$
> $l_{M-1}\ i_{M-1,0}\ j_{M-1,0}\ \cdots\ i_{M-1,l_{M-1}-1}\ j_{M-1,l_{M-1}-1}$
接着,输出操作序列长度 $T$ 及每次操作,格式如下:
> $T$
> $m_0\ d_0$
> $\vdots$
> $m_{T-1}\ d_{T-1}$
第 $t$ 次操作中,对第 $m_t$ 个传送带以方向 $d_t$ 循环移动一次。
输出需满足下列要求:
- $0\leq M\leq N^2$。
- 每个传送带长度 $l_m\geq 2$。
- 所有传送带上的坐标 $(i_{m,x},j_{m,x})$ 满足 $0\leq i_{m,x},j_{m,x}
说明/提示
### 评分方式
设输出操作序列长度为 $T$,成功运出的箱子数为 $B$,得分如下:
- 若 $B=N^2$,则得分为 $10^6 + \mathrm{round}\left(10^6 \log_2 \frac{10^5}{T}\right)$。
- 若 $B