AT_rcl_contest_2020_qual_a ゲーマーXとモノス大会

Description

[problemUrl]: https://atcoder.jp/contests/rcl-contest-2020-qual/tasks/rcl_contest_2020_qual_a Xの会社では毎週巨大モニターを用いてゲーム大会が行われます。 次回の大会では「モノス」という発売されたばかりのパズルゲームが使用される予定です。 モノスのルールは次のように定義されています。 - 幅 $ W $ 列、高さ無限段のグリッド状のフィールドを用いる。列には左から順に $ 0,\ 1,\ ...,\ W-1 $ と番号が振られている。 - $ 1\ \times\ 1 $ の正方形のブロック「モノミノ」がフィールド上方から1個ずつ、全部で $ N $ 個落下してくる。 - モノミノには色と価値が決められている。色は全部で $ K $ 種類あり、 $ 0 $ 以上 $ K-1 $ 以下の整数で表される。また、価値は $ 1 $ 以上 $ V $ 以下の整数である。 - ゲーム開始時に、そのゲームで出現するモノミノの情報が全て明かされる。 $ i $ 番目に落下してくるモノミノの色は $ c_{i} $ 、価値は $ v_{i} $ である。 - プレイヤーはモノミノを落とす列を指定し、モノミノを落下させる。 - モノミノはフィールド最下段、または他のモノミノの上に着地するとその位置に固定される。そして新しいモノミノが出現する。 - フィールドのある段が全てモノミノで埋め尽くされると、その段の得点が得られる。得点は次のように決まる。 - その段に配置されたモノミノの色別の価値の合計を求める。 - 色別の価値の合計のうち最大のものを得点として得る。 - 全てのモノミノを落下させた時点での得点の合計がそのゲームの得点となる。 何が何でもゲーム大会で優勝したいXの代わりに、モノスにおいてできるだけ高得点を取るAIを作成し、Xを優勝へ導いてあげてください。 各テストケースの得点およびこの問題の得点は、次のように計算されます。 - 1つのテストケースでは、各段で得られる得点の合計がそのまま得点になります。 - テストケースは全部で $ 50 $ 個あります。各テストケースの得点の合計が、この問題の得点になります。

Input Format

入力は以下の形式で標準入力から与えられます。 > $ N $ $ W $ $ K $ $ V $ $ c_{0} $ $ v_{0} $ \\(\\vdots\\) $ c_{i} $ $ v_{i} $ \\(\\vdots\\) $ c_{N-1} $ $ v_{N-1} $ - $ N $ は出現するモノミノの数を表す整数で、 $ N=1000 $ を満たします。 - $ W $ は使用するフィールドの幅を表す整数で、 $ W=8 $ を満たします。 - $ K $ は出現するモノミノの色の種類の数を表す整数で、 $ K=6 $ を満たします。 - $ V $ は出現するモノミノの価値の最大値を表す整数で、 $ V=8 $ を満たします。 - $ c_{i} $ は $ i $ 番目に出現するモノミノの色を表す整数で、 $ 0\

Output Format

$ i $ 行目に、 $ i $ 番目のモノミノを落とす列 $ col_{i} $ ($ 0\ \le\ col_{i}\ \le\ W-1 $)を出力してください。 > $ col_{0} $ \\(\\vdots\\) $ col_{i} $ \\(\\vdots\\) $ col_{N-1} $

Explanation/Hint

### テストケースの生成について モノミノの色と価値は一様ランダムに生成されています。 ### ジェネレータとテスターとサンプル入力データ テストケースジェネレータ・テスター・サンプル入力データを次のリンクから提供しています。 [ジェネレータ・テスター・サンプル入力データ](https://github.com/recruit-communications/rcl-contest-2020/tree/master/qual_A/tester) ### ビジュアライザ 入力ファイルと出力ファイルから、得点の計算および結果を可視化するビジュアライザを用意しました。 - このビジュアライザはデスクトップ版の [Google Chrome](https://www.google.co.jp/chrome/) および [Mozilla Firefox](https://www.mozilla.org/firefox/new/) の最新バージョン上で動作確認を行っています。全てのブラウザ環境で動作することを保証していません。 - このビジュアライザ上で計算された得点は、当コンテストでの得点ではありません。解答を AtCoder 上で提出する事によって採点が行われます。また、ビジュアライザ上で計算された得点は、当コンテスト上での得点を保証するものではありません。 - このビジュアライザを使用することによるあらゆる損害は保障しかねますので、予めご了承ください。 ビジュアライザは次のリンクからも提供しています。使用法についてもリンク先に記述があります。 [ビジュアライザ](https://github.com/recruit-communications/rcl-contest-2020/tree/master/qual_A/visualizer) ### Sample Explanation 1 注意: この入力はテストケースとしての制約を満たしていません。 1段目は色 $ 0 $ のモノミノの価値合計が $ 7 $ になるため得点 $ 7 $ を得ます。 2段目は色 $ 0 $ のモノミノの価値合計が $ 3 $ 、色 $ 1 $ のモノミノの価値合計が $ 5 $ であるため得点 $ 5 $ を得ます。 3段目は色 $ 0 $ のモノミノの価値合計が $ 1 $ になりますがその段全てにモノミノが埋め尽くされていないため得点は得られません。 そのためこの出力例で得られる得点は $ 7+5+0 $ で $ 12 $ 点となります。 フィールドをビジュアライズした結果を以下に図示します。 各段の右にその段で得られる得点が表示されています。 !\[\](data:image/png;base64,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)