atcoder#S8PC3H. 爆弾ゲーム
爆弾ゲーム
题目描述
さて, このsquare869120Contest #3も, 最終問題となってしまった。
square1001氏は, 最終兵器として, あるダンジョンに爆弾を仕掛けた。
そのダンジョンは, 左上のマスが , 右下のマスが の の大きさである。
その中には, 250個の爆弾が仕掛けられている。位置はすべて違うマスである。
あなたは, 全ての爆弾の位置を知ることで, そのダンジョンから脱出できる。
「そんなん、どうやって知ればいいんだよ! 全く分かんねぇじゃないか!助けてぇぇぇぇぇ!」
しかし、あなたは以下の質問を何回かできる。
- 左上のマス , 右下のマス の区間に何個爆弾があるかを聞くことができる。
しかし, 質問回数が多くなればなるほど, 爆弾の爆発する確率が高くなり, すなわち生存確率が下がる。
そのため, できるだけ少ない質問回数で爆弾250個の配置を当ててほしい。(その方が得点が高い)
あなたの挑戦を待っている。
Input & Output Format
最初, 以下のように入力される。
- はダンジョンの大きさである。この問題では, である。
- はダンジョンの中に含まれる爆弾の数である。この問題では, である。
- は最終的な盤面の状態を出力するために使う整数である。
次に, 次のような質問を何回かすることができる。
質問は以下のような形式で出力することによってできる。
これは, 左上のマス , 右下のマス の区間に存在する爆弾の数を聞くことである。
また, 質問の返答は, 以下のような出力で行われる。
は, 質問で聞いた区間に存在する爆弾の総数である。
また, 答えが分かった時に, 以下のような出力をしなければならない。
ただし, は以下の値であり, は, マス にある爆弾の個数である。
- $ ans\ =\ \sum_{i=0}^{H-1}\ \sum_{j=0}^{W-1}\ r_{i,\ j}\ 2^{iW\ +\ j} $ mod
提示
制約
- (はランダムに与えられる)
得点
5つのテストケースがある。各テストケースに対する得点は, 以下のように計算される。
- 質問回数を とする。
- のとき, 点 (Wrong Answer) となる。
- のとき, $ score\ =\ max(\lfloor\ 125\ -\ 3.2\sqrt{Q\ -\ 920}\ \rfloor,\ 40) $ となる。
- Q
入出力例1
例えば, 以下のような配置の場合、以下のような入出力が考えられる。
ただし, この場合 なので, 実際のテストケースには存在しない。
H=4, W=4, N=4
1001
0000
0010
0100
入出力として考えられる例
プログラムへの入力 プログラムの出力 4 4 4 1000000007 ? 0 0 0 1 1 ? 0 1 0 2 0 ? 0 3 1 3 1 ? 2 1 3 2 2 ? 2 2 2 2 1 ! 9225 ただし, 必ずしも意味のある質問をしているとは限りません。
また, これらの情報で必ずしも盤面が把握できるとは限らず, エスパーをすることも許されはします。