実行時間制限: 3 sec / メモリ制限: 1024 MB
問題文
縦 個、横 個の正方形上にならんだ 個のパネルがあります。あなたは、このパネルを使ってゲームを行います。
このゲームは、出来るだけ全てのパネルの色を 色に揃える事が目的です。最初、各パネルは、色 から 色 の 色で塗られています。
好きな色を念じながら つのパネルをタッチすることで、そのパネルを好きな色に変えることができます。タッチしたパネルの色を 、変えたい色を とします。 この時、タッチしたパネルから、上下左右に隣接する色 のパネルだけを辿って到達できる全てのパネルは、色 に変化します。
このゲームの最終得点は、以下のような計算式で求められます。
- 最も多いパネルの色を とすると、色 のパネルが 枚存在するごとに、 点を得る。
- パネルを 回タッチするごとに 点を失う。
- ただし、パネルを合計 回より多くタッチすると、システムが壊れてしまうため、 点となる。
パネルの初期状態が与えられます。タッチの仕方を出力し、出来るだけ多くの得点を獲得してください。
なお、この問題は、入力が全て公開されており、また、全ての入力に独立な通し番号idがついています。これを利用して問題を解いても構いません。
また、C++によるジャッジ上で実際に動いている入出力チェッカーも公開しています。こちらを利用しても構いません。
制約
- ≦ id ≦
- =
- =
- は 文字の文字列であり、 番目の文字 は、
1
~K
の 種類である。これは、上から 番目、左から 番目(以下と表す)のパネルが 色であることを表す。 - に使われる文字は、
1
~K
まで、均等な確率で独立にランダムで選ばれる。 - 入力はこのリンクから得られるzipファイルと同一のものが与えられる。
入力 Copy
id :
出力
以下のフォーマットで出力せよ。ただし、 はパネルをタッチする回数を表し、 はそれぞれ、 番目にタッチするパネルが、上から 番目、左から 番目(以下、 と表す)であり、変える色が であることを表す。
:
個のテストケースに対する点数の和が、あなたの提出の得点となる。
入力例 1 Copy
0 6 9 515795 153859 833597 333419 333121 533917
出力例 1 Copy
2 5 5 1 5 2 1
この入力は、説明のため、実際には存在しない小さい入力を使用しております。
パネルは、初期状態では以下のようになっています。
ここから出力の通りに 回タッチします。
最初は、 のパネルを色 に変えます。この時、隣接するパネルの中で、元のパネルの色である、色 のものは存在しないため、このパネルのみの色が変わります。
次に、 のパネルの色を に変えます。この時、上下左右に隣接した色 のパネルを辿って到達できる全てのパネルは、色 に変化するため、以下のようにパネルが変化します。
全てのパネルを操作した後、最も多い色のパネルは色 であり、この枚数は 枚です。
よって、 点が、この解の答えになります。