atcoder#ARC119D. [ARC119D] Grid Repainting 3

[ARC119D] Grid Repainting 3

配点: 700700

問題文

HHWW 列のマス目で表されるキャンバスがあり、上から ii (1iH)(1 \leq i \leq H) 行目・左から jj (1jW)(1 \leq j \leq W) 列目のマスを (i,j)(i, j) と表します。最初、マス (i,j)(i, j)si,j=s_{i, j}= R のとき赤色で、si,j=s_{i, j}= B のとき青色で塗られています。

あなたは「次の 22 つのうち一方を選んで操作すること」を何回でも行うことができます。

操作X 赤色で塗られているマスを 11 つ選び、そのマスと同じ行にあるすべてのマス(自分自身を含む)を白色に塗り替える。 操作Y 赤色で塗られているマスを 11 つ選び、そのマスと同じ列にあるすべてのマス(自分自身を含む)を白色に塗り替える。

最終的に白色で塗られたマスの個数を最大にするような、操作手順の一例を示してください。

制約

  • 1H25001 \leq H \leq 2500
  • 1W25001 \leq W \leq 2500
  • si,js_{i, j}R または B である (1iH,1jW)(1 \leq i \leq H, 1 \leq j \leq W)
  • H,WH, W は整数

入力

入力は以下の形式で標準入力から与えられます。

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 (1in)(1 \leq i \leq n) は「ii 回目にはマス (ri,ci)(r_i, c_i) を選び操作 tit_i を行うこと」を表しています。 tit_iX または Y でなければなりません。 なお、複数通りの答えが考えられる場合は、そのどれを出力しても構いません。

4 4
RBBB
BBBB
BBBB
RBRB
3
X 1 1
Y 4 3
X 4 1

たとえば次のように操作を行うことで、1010 個のマスを白色にすることができます。

  • まず、マス (1,1)(1, 1) を選び、操作Xを行う。
  • 次に、マス (4,3)(4, 3) を選び、操作Yを行う。
  • 次に、マス (4,1)(4, 1) を選び、操作Xを行う。

なお、1111 個以上のマスを白色にする方法は存在しません。

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

すべてのマスを白色に塗り替えることができます。

10 10
BBBBBBBBBB
BBBBBBBBBB
BBBBBBBBBB
BBBBBBBBBB
BBBBBBBBBB
BBBBBBBBBB
BBBBBBBBBB
BBBBBBBBBB
BBBBBBBBBB
BBBBBBBBBB
0

赤色のマスが 11 つも存在しないため、そもそも操作を行うことができません。