CF1025E.Colored Cubes
省选/NOI-
通过率:0%
时间限制:1.00s
内存限制:256MB
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
Vasya passes all exams! Despite expectations, Vasya is not tired, moreover, he is ready for new challenges. However, he does not want to work too hard on difficult problems.
Vasya remembered that he has a not-so-hard puzzle: m colored cubes are placed on a chessboard of size n×n. The fact is that m≤n and all cubes have distinct colors. Each cube occupies exactly one cell. Also, there is a designated cell for each cube on the board, the puzzle is to place each cube on its place. The cubes are fragile, so in one operation you only can move one cube onto one of four neighboring by side cells, if only it is empty. Vasya wants to be careful, so each operation takes exactly one second.
Vasya used to train hard for VK Cup Final, so he can focus his attention on the puzzle for at most 3 hours, that is 10800 seconds. Help Vasya find such a sequence of operations that all cubes will be moved onto their designated places, and Vasya won't lose his attention.
瓦西娅通过了所有考试!出乎意料的是,瓦西娅并不感到疲惫,而且他已准备好迎接新的挑战。然而,他并不想在难题上过度耗费精力。
瓦西娅想起自己曾玩过一个不算太难的谜题:在一个 n×n 的棋盘上放置了 m 个彩色立方体。事实上,m≤n,且所有立方体颜色互不相同。每个立方体恰好占据一个格子。此外,棋盘上为每个立方体指定了一个目标格子;该谜题的目标是将每个立方体移动到其对应的目标格子上。这些立方体十分易碎,因此每次操作仅允许将一个立方体向其上下左右四个相邻(共享一条边)的空格子中移动一格。瓦西娅希望操作谨慎,因此每次操作恰好耗时一秒。
瓦西娅曾为 VK Cup 总决赛刻苦训练,因此他最多能集中注意力解此谜题 3 小时,即 10800 秒。请帮助瓦西娅找到一个操作序列,使得所有立方体均被移动至其指定位置,且瓦西娅不会因超时而失去注意力。
输入格式
The first line contains two integers n and m (1≤m≤n≤50).
Each of the next m lines contains two integers xi, yi (1≤xi,yi≤n), the initial positions of the cubes.
The next m lines describe the designated places for the cubes in the same format and order.
It is guaranteed that all initial positions are distinct and all designated places are distinct, however, it is possible that some initial positions coincide with some final positions.
第一行包含两个整数 n 和 m(1≤m≤n≤50)。
接下来的 m 行,每行包含两个整数 xi、yi(1≤xi,yi≤n),表示立方体的初始位置。
再接下来的 m 行以相同格式和顺序描述立方体的目标位置。
保证所有初始位置互不相同,且所有目标位置也互不相同;但某些初始位置可能与某些最终位置重合。
输出格式
In the first line print a single integer k (0≤k≤10800) — the number of operations Vasya should make.
In each of the next k lines you should describe one operation: print four integers x1, y1, x2, y2, where x1,y1 is the position of the cube Vasya should move, and x2,y2 is the new position of the cube. The cells x1,y1 and x2,y2 should have a common side, the cell x2,y2 should be empty before the operation.
We can show that there always exists at least one solution. If there are multiple solutions, print any of them.
第一行输出一个整数 k(0≤k≤10800),表示 Vasya 需要执行的操作次数。
接下来的 k 行中,每行描述一次操作:输出四个整数 x1、y1、x2、y2,其中 (x1,y1) 是 Vasya 需要移动的方块的当前位置,(x2,y2) 是该方块移动后的新位置。位置 (x1,y1) 与 (x2,y2) 对应的格子必须有公共边,且在操作前格子 (x2,y2) 必须为空。
可以证明,至少存在一种解。若存在多种解,输出任意一种即可。
输入输出样例
输入#1
2 1 1 1 2 2
输出#1
2 1 1 1 2 1 2 2 2
输入#2
2 2 1 1 2 2 1 2 2 1
输出#2
2 2 2 2 1 1 1 1 2
输入#3
2 2 2 1 2 2 2 2 2 1
输出#3
4 2 1 1 1 2 2 2 1 1 1 1 2 1 2 2 2
输入#4
4 3 2 2 2 3 3 3 3 2 2 2 2 3
输出#4
9 2 2 1 2 1 2 1 1 2 3 2 2 3 3 2 3 2 2 1 2 1 1 2 1 2 1 3 1 3 1 3 2 1 2 2 2
说明/提示
In the fourth example the printed sequence of movements (shown on the picture below) is valid, but not shortest. There is a solution in 3 operations.

在第四个示例中,打印出的移动序列(如下图所示)是有效的,但不是最短的。存在一个仅需 3 次操作的解法。

输入解题思路,AI测评打分。不知道怎么写?