CF778D.Parquet Re-laying

省选/NOI-

通过率:0%

时间限制:2.00s

内存限制:512MB

AC君温馨提醒

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

题目描述

Peter decided to lay a parquet in the room of size n × m, the parquet consists of tiles of size 1 × 2. When the workers laid the parquet, it became clear that the tiles pattern looks not like Peter likes, and workers will have to re-lay it.

The workers decided that removing entire parquet and then laying it again is very difficult task, so they decided to make such an operation every hour: remove two tiles, which form a 2 × 2 square, rotate them 90 degrees and put them back on the same place.

They have no idea how to obtain the desired configuration using these operations, and whether it is possible at all.

Help Peter to make a plan for the workers or tell that it is impossible. The plan should contain at most 100 000 commands.

彼得决定在一间 n×mn \times m 大小的房间内铺设由 1×21 \times 2 尺寸木砖构成的拼花地板。当工人完成铺设后,发现木砖的排列样式不符合彼得的喜好,因此需要重新铺设。

工人们认为将整块地板全部拆除再重铺是一项非常困难的任务,于是他们决定每小时执行如下操作一次:取下构成 2×22 \times 2 正方形的两块木砖,将其整体旋转 90∘90^\circ,然后放回原处。

他们不清楚能否通过这些操作得到目标布局,甚至不确定是否可行。

请帮助彼得为工人制定一个操作方案,或判断该任务不可能完成。方案中至多包含 100 000100\,000 条指令。

输入格式

The first line contains integer n and m, size of the room (1 ≤ n, m ≤ 50). At least one of them is even number.

The following n lines contain m characters each, the description of the current configuration of the parquet tiles. Each character represents the position of the half-tile. Characters 'L', 'R', 'U' and 'D' correspond to the left, right, upper and lower halves, respectively.

The following n lines contain m characters each, describing the desired configuration in the same format.

第一行包含两个整数 nn 和 mm,表示房间的尺寸(1≤n,m≤501 \leq n, m \leq 50),其中至少有一个为偶数。

接下来的 nn 行,每行包含 mm 个字符,描述当前拼花地板砖的布局。每个字符表示半块砖的位置。字符 'L'、'R'、'U' 和 'D' 分别对应左半块、右半块、上半块和下半块。

再接下来的 nn 行,每行包含 mm 个字符,以相同格式描述目标布局。

输出格式

In the first line output integer k, the number of operations. In the next k lines output description of operations. The operation is specified by coordinates (row and column) of the left upper half-tile on which the operation is performed.

If there is no solution, output -1 in the first line.

第一行输出整数 kk,表示操作次数。接下来的 kk 行输出各操作的描述。每个操作由其执行位置的左上半块瓷砖的坐标(行号和列号)指定。

若无解,则在第一行输出 −1-1。

输入输出样例

  • 输入#1

    2 3
    ULR
    DLR
    LRU
    LRD

    输出#1

    2
    1 2
    1 1
  • 输入#2

    4 3
    ULR
    DLR
    LRU
    LRD
    ULR
    DUU
    UDD
    DLR

    输出#2

    3
    3 1
    3 2
    2 2

说明/提示

In the first sample test first operation is to rotate two rightmost tiles, after this all tiles lie vertically. Second operation is to rotate two leftmost tiles, after this we will get desired configuration.

在第一个样例测试中,第一次操作是旋转最右侧的两块瓷砖,操作后所有瓷砖均呈竖直方向。第二次操作是旋转最左侧的两块瓷砖,操作后即可得到目标布局。

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

首页