P10361 [PA 2024] Łamigłówka 3
题目背景
PA 2024 4C
题目描述
**题目译自 [PA 2024](https://sio2.mimuw.edu.pl/c/pa-2024-1/dashboard/) Runda 4 [Łamigłówka 3](https://sio2.mimuw.edu.pl/c/pa-2024-1/p/lam/)**
Bytie 喜欢玩手机游戏。然而让他感到恼火的是游戏中经常有其他游戏的广告,并且其中玩游戏的人表现得非常糟糕,广告这样做的目的是让看广告的人感到沮丧,从而产生玩下去的欲望。Bytie 对其中一个广告印象尤为深刻(你可能也看过)。

由于可以从任何事物中汲取灵感,Bytie 决定在上述游戏的基础上出道题。他将选择一块大小为 $n\times m$ 的目标图案,游戏在一块 $n\times m$ 的网格上进行,其中没有任何区域被染色。在一次操作中,他可以选择一行或一列,并将这一行(或列)中的**所有方格**(注意,这比上面图片中的游戏更自由,因为在上面的游戏中,重复涂色同一单元格时颜色会混合)重新涂成自己选择的颜色。为了使题目更形式化,他还用大写英文字母标注了所有颜色。你能帮他写一个程序,对于他给出的每个网格,给出正确得到目标图案的操作顺序吗?你可以假设输入中最多可以用 $n+m$ 步操作得到目标图案。
输入格式
第一行两个整数 $n$ 和 $m\ (1\le n,m\le 2\,000)$,分别表示网格的行数和列数。
接下来 $n$ 行,每行一个长为 $m$ 的字符串。字符串由大写字母组成,第 $i$ 个字符串的第 $j$ 个字符表示目标图案中第 $i$ 行第 $j$ 列单元格的颜色。
保证给定的目标图案可以通过最多 $n+m$ 次染色操作得到。
输出格式
输出第一行包含一个整数 $r\ (1\le r\le n+m)$,表示要进行的操作次数。接下来 $r$ 行描述操作。
为了描述一次操作,首先应输出 `R` 或者 `K`,表示你希望对某行还是某列重新涂色(`R` 表示对某行重新涂色,`K` 表示对某列重新涂色)。接下来空一格,输出你希望重新涂色的行或列的编号,行按从上到下的顺序从 $1$ 到 $n$ 编号,列按从左到右的顺序从 $1$ 到 $m$ 编号。然后再空一格,输出一个大写英文字母,表示你希望对这行或这列重新涂成的颜色。
注意你不需要最小化操作次数——只需要最多操作 $n+m$ 次即可。
说明/提示
假设 `P` 代表绿色,`A` 代表黄色,`Z` 代表蓝色。样例 1 中的操作序列如下图所示:
