CF995A.Tesla

提高+/省选-

通过率:0%

时间限制:3.00s

内存限制:256MB

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

Allen dreams of one day owning a enormous fleet of electric cars, the car of the future! He knows that this will give him a big status boost. As Allen is planning out all of the different types of cars he will own and how he will arrange them, he realizes that he has a problem.

Allen's future parking lot can be represented as a rectangle with 44 rows and nn (n≤50n \le 50) columns of rectangular spaces, each of which can contain at most one car at any time. He imagines having kk (k≤2nk \le 2n) cars in the grid, and all the cars are initially in the second and third rows. Each of the cars also has a different designated parking space in the first or fourth row. Allen has to put the cars into corresponding parking places.

Illustration to the first example.

However, since Allen would never entrust his cars to anyone else, only one car can be moved at a time. He can drive a car from a space in any of the four cardinal directions to a neighboring empty space. Furthermore, Allen can only move one of his cars into a space on the first or fourth rows if it is the car's designated parking space.

Allen knows he will be a very busy man, and will only have time to move cars at most 2000020000 times before he realizes that moving cars is not worth his time. Help Allen determine if he should bother parking his cars or leave it to someone less important.

艾伦梦想着有朝一日拥有庞大数量的电动汽车车队——这将是未来的座驾!他知道这将极大提升自己的社会地位。在规划自己未来将拥有的各类车型以及它们的停放布局时,艾伦意识到自己遇到了一个问题。

艾伦未来的停车场可建模为一个 44 行 nn 列(n≤50n \le 50)的矩形网格,每个格子为一个矩形车位,任意时刻至多容纳一辆车。他设想在该网格中停放 kk 辆车(k≤2nk \le 2n),且所有车辆初始时均位于第二行或第三行。每辆车在第一行或第四行中均有唯一指定的停车位。艾伦需要将所有车辆移至其各自对应的指定停车位。

第一个样例的示意图。

然而,由于艾伦绝不会将自己的爱车托付给他人,因此每次仅能移动一辆车。他可以将一辆车从当前格子沿上、下、左、右四个正交方向之一,驶入相邻的空闲格子。此外,艾伦仅允许将某辆车移入第一行或第四行的某个格子,当且仅当该格子正是这辆车的指定停车位。

艾伦深知自己将来会非常忙碌,因此最多只愿进行 2000020000 次移动操作;此后他便会意识到,挪车这件事根本不值得他耗费时间。请帮助艾伦判断:他是否应当亲自完成停车任务,还是干脆将此事交给身份不那么重要的人去处理?

输入格式

The first line of the input contains two space-separated integers nn and kk (1≤n≤501 \le n \le 50, 1≤k≤2n1 \le k \le 2n), representing the number of columns and the number of cars, respectively.

The next four lines will contain nn integers each between 00 and kk inclusive, representing the initial state of the parking lot. The rows are numbered 11 to 44 from top to bottom and the columns are numbered 11 to nn from left to right.

In the first and last line, an integer 1≤x≤k1 \le x \le k represents a parking spot assigned to car xx (you can only move this car to this place), while the integer 00 represents a empty space (you can't move any car to this place).

In the second and third line, an integer 1≤x≤k1 \le x \le k represents initial position of car xx, while the integer 00 represents an empty space (you can move any car to this place).

Each xx between 11 and kk appears exactly once in the second and third line, and exactly once in the first and fourth line.

输入的第一行包含两个用空格分隔的整数 nn 和 kk(1≤n≤501 \le n \le 50,1≤k≤2n1 \le k \le 2n),分别表示列数和汽车数量。

接下来的四行每行包含 nn 个整数,每个整数在 00 到 kk 之间(含端点),表示停车场的初始状态。行号从上到下依次为 11 至 44,列号从左到右依次为 11 至 nn。

在第一行和第四行中,整数 1≤x≤k1 \le x \le k 表示分配给汽车 xx 的停车位(你只能将汽车 xx 移动至此位置),而整数 00 表示空位(任何汽车均不可移动至此位置)。

在第二行和第三行中,整数 1≤x≤k1 \le x \le k 表示汽车 xx 的初始位置,而整数 00 表示空位(任何汽车均可移动至此位置)。

每个介于 11 和 kk 之间的整数 xx 在第二行与第三行中总共恰好出现一次,在第一行与第四行中也总共恰好出现一次。

输出格式

If there is a sequence of moves that brings all of the cars to their parking spaces, with at most 2000020000 car moves, then print mm, the number of moves, on the first line. On the following mm lines, print the moves (one move per line) in the format ii rr cc, which corresponds to Allen moving car ii to the neighboring space at row rr and column cc.

If it is not possible for Allen to move all the cars to the correct spaces with at most 2000020000 car moves, print a single line with the integer −1-1.

如果存在一系列移动操作,能够将所有汽车停放到各自的停车位,且汽车移动总次数不超过 2000020000 次,则在第一行输出移动次数 mm;接下来的 mm 行中,每行输出一次移动操作,格式为 ii rr cc,表示 Allen 将编号为 ii 的汽车移动至第 rr 行、第 cc 列的相邻空位上。

若 Allen 无法在最多 2000020000 次汽车移动内将所有汽车停放到正确位置,则仅输出一行整数 −1-1。

输入输出样例

  • 输入#1

    4 5
    1 2 0 4
    1 2 0 4
    5 0 0 3
    0 5 0 3

    输出#1

    6
    1 1 1
    2 1 2
    4 1 4
    3 4 4
    5 3 2
    5 4 2
  • 输入#2

    1 2
    1
    2
    1
    2

    输出#2

    -1
  • 输入#3

    1 2
    1
    1
    2
    2

    输出#3

    2
    1 1 1
    2 4 1

说明/提示

In the first sample test case, all cars are in front of their spots except car 55, which is in front of the parking spot adjacent. The example shows the shortest possible sequence of moves, but any sequence of length at most 2000020000 will be accepted.

In the second sample test case, there is only one column, and the cars are in the wrong order, so no cars can move and the task is impossible.

在第一个样例测试用例中,除汽车 55 停在相邻停车位前方外,其余所有汽车均停在其对应停车位的正前方。该示例展示了最短可能的移动序列,但任何长度不超过 2000020000 的序列均可被接受。

在第二个样例测试用例中,仅存在一列停车位,且汽车顺序错误,因此没有任何汽车能够移动,该任务不可行。

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

首页