#ATarc119d. [ARC119D] Grid Repainting 3

[ARC119D] Grid Repainting 3

题目描述

有一个由 HHWW 列的格子组成的画布。第 ii 行第 jj 列的格子记作 (i,j)(i, j),其中 1iH1 \leq i \leq H1jW1 \leq j \leq W。最初,如果 si,j=s_{i, j} = R,则该格子被涂成红色;如果 si,j=s_{i, j} = B,则被涂成蓝色。

你可以进行任意次以下两种操作中的一种:

操作 X:选择一个红色格子,将该格子所在的整行(包括自身)全部涂成白色。
操作 Y:选择一个红色格子,将该格子所在的整列(包括自身)全部涂成白色。

请给出一种操作顺序,使得最终被涂成白色的格子数最大,并输出一种操作方案。

输入格式

输入通过标准输入给出,格式如下:

HH WW
s1,1s_{1, 1} s1,2s_{1, 2} s1,3s_{1, 3} \cdots s1,Ws_{1, W}
s2,1s_{2, 1} s2,2s_{2, 2} s2,3s_{2, 3} \cdots s2,Ws_{2, W}
s3,1s_{3, 1} s3,2s_{3, 2} s3,3s_{3, 3} \cdots s3,Ws_{3, W}
\vdots
sH,1s_{H, 1} sH,2s_{H, 2} sH,3s_{H, 3} \cdots sH,Ws_{H, W}

输出格式

请按以下格式输出:

nn
t1t_1 r1r_1 c1c_1
t2t_2 r2r_2 c2c_2
t3t_3 r3r_3 c3c_3
\vdots
tnt_n rnr_n cnc_n

其中,nn 表示操作次数,tit_irir_icic_i1in1 \leq i \leq n)表示第 ii 次操作选择了格子 (ri,ci)(r_i, c_i) 并执行了操作 tit_itit_i 必须为 XY

如果有多种方案,输出任意一种均可。

样例 1

输入

4 4
RBBB
BBBB
BBBB
RBRB

输出

3
X 1 1
Y 4 3
X 4 1

样例 2

输入

1 119
BBBRBBBBBBRBBBBBBRBBBBBBRBBBBBBRBBBBBBRBBBBBBRBBBBBBRBBBBBBRBBBBBBRBBBBBBRBBBBBBRBBBBBBRBBBBBBRBBBBBBRBBBBBBRBBBBBBRBBB

输出

4
Y 1 60
Y 1 109
Y 1 46
X 1 11

样例 3

输入

10 10
BBBBBBBBBB
BBBBBBBBBB
BBBBBBBBBB
BBBBBBBBBB
BBBBBBBBBB
BBBBBBBBBB
BBBBBBBBBB
BBBBBBBBBB
BBBBBBBBBB
BBBBBBBBBB

输出

0

说明/提示

限制条件

  • 1H25001 \leq H \leq 2500
  • 1W25001 \leq W \leq 2500
  • si,js_{i, j} 只可能为 RB1iH, 1jW1 \leq i \leq H,\ 1 \leq j \leq W
  • H,WH, W 均为整数

样例解释 1

例如,按如下方式操作,可以将 1010 个格子涂成白色:

  • 首先,选择格子 (1,1)(1, 1),执行操作 X
  • 然后,选择格子 (4,3)(4, 3),执行操作 Y
  • 接着,选择格子 (4,1)(4, 1),执行操作 X
    无法将超过 1111 个格子涂成白色。

样例解释 2

可以将所有格子都涂成白色。

样例解释 3

由于没有任何红色格子,无法进行任何操作。

由 ChatGPT 4.1 翻译