问题 6299 --2.关门捉贼

6299: 2.关门捉贼

题目描述

【题目背景】 小敌困之。剥,不利有攸往。 33DAI 发现有 $n$ 只小猫在 $m\times m$ 的二维数组里,第 $i$ 只小猫在第 $x_i$ 行的第 $y_i$ 列(保证 $2\le x_i,y_i\le m-1$),可能有多只小猫在同一个位置。 已知每只小猫都只会往上下左右四个方向直线行走,不会拐弯。33DAI 可以在某些位置放稻草人来拦住小猫。稻草人必须放在 $m\times m$ 的二维数组内,且不能放在已经有小猫或稻草人的位置。请帮 33DAI 构造一个放稻草人的方案。 形式化的说,如果在 - 第 $x_i$ 行的第 $1\sim y_i-1$ 列 - 第 $x_i$ 行的第 $y_i+1\sim m$ 列 - 第 $y_i$ 列的第 $1\sim x_i-1$ 行 - 第 $y_i$ 列的第 $x_i+1\sim m$ 行 这四个区域都分别至少放了一个稻草人,就可以拦住第 $i$ 只小猫。

输入

第一行两个整数 $n,m$。 接下来 $n$ 行,第 $i$ 行为两个整数 $x_i,y_i$。

输出

显然不可能无解,最多 $4\times n$ 个稻草人肯定能拦住所有小猫,如果有多解,输出任意一种即可。 第一行需要输出一个 $1\sim 4\times n$ 范围内的整数 $k$,表示需要放 $k$ 个稻草人。 接下来 $k$ 行,第 $i$ 行为第 $i$ 个稻草人的位置 $u_i,v_i$,即放在第 $u_i$ 行的第 $v_i$ 列。

样例输入输出

输入#1 复制
3 5
2 2
2 4
4 4
输出#1 复制
7
1 2
1 4
2 1
2 5
4 2
4 5
5 4

提示

【样例1解释】 输出为一种可能的方案,下面是这个方案放稻草人的位置 ![](/upload/image/20241025/201733_16162.png) 【数据规模与约定】 对于 $100\%$ 的数据,$1 \le n \le 500$,$3\le m\le 10^9$,$2\le x_i,y_i\le m-1$。 - 子任务 1(10 分):保证 $m=3$。 - 子任务 2(20 分):保证 $n=1$。 - 子任务 3(30 分):保证 $1\le 4\times (m-1)\le 16$。 - 子任务 4(40 分):没有特殊限制。
序号 标题 作者 发表时间 费用 订购数 操作