#arc119d. [arc119_d]Grid Repainting 3

[arc119_d]Grid Repainting 3

问题描述

我们有一个用HHWW列表示的画布。用(i,j)(i, j)表示从上方数第ii(1iH)(1 \leq i \leq H),从左侧数第jj(1jW)(1 \leq j \leq W)的方块。初始时,如果si,j=s_{i, j} = R,则(i,j)(i, j)被涂成红色,如果si,j=s_{i, j} = B,则被涂成蓝色。

在任意次操作中,你可以选择以下两种操作之一。

**操作X:**选择一个涂成红色的方块,并将该方块所在行(包括自己)上的所有方块都涂成白色。
**操作Y:**选择一个涂成红色的方块,并将该方块所在列(包括自己)上的所有方块都涂成白色。

请找到一种方法,使得最后被涂成白色的方块数量最大。

约束条件

  • 1H25001 \leq H \leq 2500
  • 1W25001 \leq W \leq 2500
  • si,js_{i, j}RB(1iH,1jW)(1 \leq i \leq H, 1 \leq j \leq W)
  • HHWW为整数。

输入

从标准输入读入数据,输入格式如下:

HH WW s1,1s_{1, 1}s1,2s_{1, 2}s1,3s_{1, 3}\cdotss1,Ws_{1, W} s2,1s_{2, 1}s2,2s_{2, 2}s2,3s_{2, 3}\cdotss2,Ws_{2, W} s3,1s_{3, 1}s3,2s_{3, 2}s3,3s_{3, 3}\cdotss3,Ws_{3, W} \vdots sH,1s_{H, 1}sH,2s_{H, 2}sH,3s_{H, 3}\cdotssH,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是你进行的操作次数,ti,ri,cit_i, r_i, c_i表示第ii个操作是操作tit_i选择了方块(ri,ci)(r_i, c_i),其中tit_iXY
如果有多种可能的解决方案,你可以任选其一。

示例输入 1

4 4
RBBB
BBBB
BBBB
RBRB

示例输出 1

3
X 1 1
Y 4 3
X 4 1

以下是一种使得有10个方块涂成白色的操作序列:

  • 首先,选择(1,1)(1, 1)进行操作X
  • 然后,选择(4,3)(4, 3)进行操作Y
  • 最后,选择(4,1)(4, 1)进行操作X

无法使得有11个或更多方块变成白色。

示例输入 2

1 119
BBBRBBBBBBRBBBBBBRBBBBBBRBBBBBBRBBBBBBRBBBBBBRBBBBBBRBBBBBBRBBBBBBRBBBBBBRBBBBBBRBBBBBBRBBBBBBRBBBBBBRBBBBBBRBBB

示例输出 2

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

示例输出 3

0

由于没有红色的方块,我们无法进行任何操作。