QOJ.ac

QOJ

时间限制: 2 s 内存限制: 1024 MB 总分: 10

#8411. Головоломка 3 [C]

统计

Байтек любит играть в мобильные игры. Однако его раздражает часто появляющаяся реклама других игр, в которых игрок справляется очень плохо, что должно вызывать у зрителя разочарование и желание сыграть самому. Одна из таких реклам (которую, возможно, вам тоже доводилось видеть) особенно запомнилась Байтеку.

Поскольку вдохновение можно черпать отовсюду, Байтек решил на основе этой игры создать задачу. Он выбирает целевое цветное поле размером $n \times m$, а игру начинает с поля $n \times m$, на котором ни одна клетка не имеет цвета. За один ход он может выбрать ряд или столбец и перекрасить все клетки в нем в выбранный им цвет (обратите внимание, что это дает ему больше свободы, чем в игре, представленной на картинках выше, где цвета рядов и столбцов были предопределены). Чтобы немного формализовать задачу, все цвета он обозначил заглавными буквами английского алфавита. Поможете ли вы ему и напишете программу, которая для каждой заданной им доски выдаст последовательность ходов, правильно создающую целевую цветовую схему? Вы можете предположить, что получите входные данные, в которых этой цели можно достичь не более чем за $n + m$ ходов.

Входные данные

В первой строке стандартного ввода находятся два целых числа $n$ и $m$ ($1 \le n, m \le 2\,000$), обозначающие соответственно высоту и ширину доски.

В каждой из следующих $n$ строк находится по $m$ символов, каждый из которых является заглавной буквой английского алфавита; $j$-й символ в $i$-й из этих строк обозначает целевой цвет клетки, находящейся в $i$-м ряду и $j$-м столбце доски.

Гарантируется, что заданную цветовую схему можно достичь последовательностью не более чем из $n + m$ ходов, описанных в условии задачи.

Выходные данные

В первой строке вывода должно находиться одно целое число $r$ ($1 \le r \le n + m$), обозначающее количество ходов, которые вы хотите сделать. В каждой из следующих $r$ строк должно находиться описание хода.

Описание одного хода должно начинаться с символа ‘R’ или ‘K’, обозначающего, хотите ли вы перекрасить ряд или столбец (где, очевидно, ‘R’ означает ряд, а ‘K’ — столбец). Далее, после одиночного пробела, должен находиться номер ряда или столбца, который вы хотите перекрасить. Ряды нумеруются сверху вниз числами от 1 до $n$, а столбцы слева направо числами от 1 до $m$. Затем, после одиночного пробела, должна находиться одна заглавная буква английского алфавита, обозначающая цвет, в который вы хотите перекрасить выбранный ряд или столбец.

Обратите внимание, что вам не нужно минимизировать количество ходов — достаточно выполнить их не более $n + m$.

Примеры

Пример 1

Входные данные

5 5
AAPAA
APPAA
AAPAA
AAPAA
APPPA

Выходные данные

10
R 1 Z
K 4 A
K 2 P
R 5 P
R 4 A
R 3 A
R 1 A
K 5 A
K 3 P
K 1 A

Пример 2

Входные данные

2 3
AAA
PPP

Выходные данные

2
R 2 P
R 1 A

Примечание

Пояснение к примеру: Если в первом тестовом примере мы предположим, что буква ‘P’ означает зеленый цвет, буква ‘A’ — желтый, а буква ‘Z’ — синий, то выбранная последовательность ходов раскрашивает доску следующим образом:

Пояснение к примеру: Если в первом тестовом примере мы предположим, что буква ‘P’ означает зеленый цвет, буква ‘A’ — желтый, а буква ‘Z’ — синий, то выбранная последовательность ходов раскрашивает доску следующим образом:

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.