QOJ.ac

QOJ

Limite de temps : 2 s Limite de mémoire : 1024 MB Points totaux : 10

#8411. パズル 3 [C]

Statistiques

Bajtek はモバイルゲームをプレイするのが大好きです。しかし、他のゲームの広告が頻繁に表示され、プレイしている人物が非常に下手なプレイをしていて、見ている側をイライラさせ、自分もプレイしたいと思わせるような演出にはうんざりしています。そのような広告の一つ(あなたも見たことがあるかもしれません)が、特に Bajtek の記憶に残りました。

インスピレーションはどこからでも得られるものとして、Bajtek は上記のゲームに基づいて問題を作成することにしました。彼は $n \times m$ の目標となるカラーボードを選択します。ゲームは、どのマスも色が塗られていない $n \times m$ のボードから始まります。1 回の操作で、行または列を選択し、その中のすべてのマスを自分で選んだ色で塗りつぶすことができます(上記の画像で示されたゲームとは異なり、行や列の色が固定されていないため、より自由度が高いことに注意してください)。問題を少し形式化するために、すべての色を英語のアルファベットの大文字で表すことにしました。彼を助けて、彼が指定した各ボードに対して、目標の色の配置を正しく作成する操作手順を出力するプログラムを作成してください。入力データは、最大 $n + m$ 回の操作で目標を達成できるものと仮定して構いません。

入力

標準入力の最初の行には、ボードの高さと幅を表す 2 つの整数 $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$ 行のそれぞれには、操作の説明を出力してください。

1 回の操作の説明は、行を塗りつぶすか列を塗りつぶすかを示す文字 'R' または 'K' で始まる必要があります('R' は行、'K' は列を意味します)。続いて半角スペースを空け、塗りつぶしたい行番号または列番号を出力してください。行は上から下へ $1$ から $n$ まで、列は左から右へ $1$ から $m$ まで番号が付けられています。次に半角スペースを空け、選択した行または列を塗りつぶす色を表す英語のアルファベットの大文字を 1 文字出力してください。

操作回数を最小化する必要はありません。最大 $n + m$ 回以内で実行すれば十分です。

入出力例

入力 1

5 5
AAPAA
APPAA
AAPAA
AAPAA
APPPA

出力 1

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

2
R 2 P
R 1 A

注記

例の解説:最初のテストケースにおいて、文字 '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.