AT_abc445_d [ABC445D] Reconstruct Chocolate

题目描述

桌子上放着 $N$ 块巧克力,每块编号为 $i\ (1 \leq i \leq N)$,第 $i$ 块为高 $h_i$、宽 $w_i$ 的矩形。 已知这些巧克力块是通过如下操作获得的: - 开始时,手上有一块高 $H$、宽 $W$ 的完整巧克力,桌子上还没有放置任何巧克力块。 - 反复进行如下操作 $N-1$ 次: - 将手上的一块巧克力在块的边界处分成两个部分,分割后得到的两块依然是矩形。 - 把其中一块放在桌子上,手上保留另一块。 - 最后一步,将手上剩下的那块巧克力也放在桌子上。 请你找出一种方式,将这 $N$ 块巧克力拼成高 $H$、宽 $W$ 的矩形,满足以下条件: - 不同的块之间不能重叠。 - 不允许旋转巧克力,即对于 $h \neq w$,高 $h$、宽 $w$ 的巧克力不能以高 $w$、宽 $h$ 的形式放置。

输入格式

输入通过标准输入给出,格式如下: > $H\ W\ N\ h_1\ w_1\ h_2\ w_2\ \ldots\ h_N\ w_N$

输出格式

对于每一块巧克力 $i\ (1 \leq i \leq N)$,设其左上角放置在整个大矩形的第 $x_i$ 行、第 $y_i$ 列(从左上角起,分别从上到下、从左到右计数)。请输出如下格式: > $x_1\ y_1\ x_2\ y_2\ \ldots\ x_N\ y_N$ 如果存在多种合法的方案,输出任意一种即可。

说明/提示

### 样例解释 1 样例输出展示的拼法如下图所示: ![](https://cdn.luogu.com.cn/upload/vjudge_pic/AT_abc445_d/48a82eb918e950f964763b141003c6558a3a6a74883fbb33f0c236ca3a9ac670.png) ### 数据范围 - $1 \leq H \leq 10^9$ - $1 \leq W \leq 10^9$ - $2 \leq N \leq 2\times 10^5$ - $1 \leq h_i \leq H$ - $1 \leq w_i \leq W$ - 保证输入数据是按照题目描述中的方式分割得到的。 - 所有输入均为整数。 由 ChatGPT 5 翻译