|
アスナ |
私の番だね! ここもすっごく楽しいところだね! |
|
アスナ |
何が出るかな~? なんだかドキドキしてきた! |
「ようこそ。私はこのプレイラウンジの案内を担当する〈ラウンジガイド〉です! お客様に、ここの利用方法やルールをご説明しています。当ゴールデンフリース号のすべてのサービスが、ゲームで獲得した通貨と交換されることはご存じですよね? この船のあらゆるもの……宿泊、お食事、遊戯施設、トイレに至るまで、ゲームで獲得した通貨の量に応じてサービスの品質ランクが決まります。通貨の量に応じてDからSまでのランクがあり、通常、Aになれば船内の最高級サービスをすべてご利用いただけます! Sランクは、まさに夢のようなものです!」
|
アスナ |
あははは! なにこれ、面白い! |
|
カリン |
(アスナ先輩なら、きっと持ち前の幸運ですぐに賞金を獲得するだろうな。) |
|
アカネ |
(アスナ先輩ならそうでしょうね。私たちもやってみましょう。部長も。) |
|
|
1 行目にゲームマシンの数 が与えられる。
続く 行の各行に、二つの正の整数 と演算子を表す文字 が与えられる。
行にわたり、アスナが疑われずに を正しく当てられる最小ラウンド数を出力する。
一つ目のゲームマシン
1 ラウンド目に を入力すると、No が表示される。
回未満の入力で判別する方法はない。
ネル
|
(あ、あぁん? 分かったよ、やりゃいいんだろ! ちっ。) |
プレイヤーはゲームマシンとゲームをすることができます!
各ゲームマシンには、 以上の正の整数 、 以下の正の整数 、演算子を表す文字 が設定されています。演算子 は と のどちらかです!
ゲームマシンは整数 を教えてくれますが、整数 と演算子 は教えてくれません。プレイヤーは 以上 以下の整数を入力できます。整数を入力するたびに、ゲームマシンは内部処理に従って Yes または No を表示します。その処理は次の通りです。
ゲームマシン内部に保存されている値を とします。初期状態では です。
各ラウンドで、プレイヤーは整数を入力できます。
入力された整数を とします。 は 以上 以下の整数でなければなりません。
プレイヤーの目標は演算子 を当てることであり、整数 を特定する必要はありません。最終的に を特定できた場合、ラウンド数が少ないほど多くの通貨を獲得できます。
船内を歩き回っていたアスナは、偶然、すべてのゲームマシンの情報が書かれたメモを拾った。そこには、それぞれのマシンに設定されている と が記されていた。
いきなり演算子 を当てるとカジノに怪しまれて追い出されるかもしれない、と考えたアスナは、疑われないために必要な最小限のラウンドだけ遊ぶことにした。
アスナがこれまで入力した整数と、それぞれに対する Yes/No の結果を合わせたものを一つの記録とする。同じ入力に対して、この記録とまったく同じ Yes/No の結果を生み出せる組 が存在するかを考えよう。
つまり、可能な演算子が一種類だけになった瞬間なら、正解を答えても疑われない。整数 、 と演算子 が設定されたゲームマシンについて、アスナが疑われずに正解を答えられる最小ラウンド数を求めよう。
入力中の は を表す。
二つ目のゲームマシン
1 ラウンド目に を入力すると、Yes が表示される。
2 ラウンド目に を入力すると、Yes が表示される。
3 ラウンド目に を入力すると、Yes が表示される。
回未満の入力で を確定する方法はない。
保存されている値 と入力された整数 に演算子 を適用した結果が 以下なら Yes を、そうでなければ No を表示します。つまり、 とすると、
更新された の値は、次のラウンドで使われます。
が更新されるのは画面に Yes が表示されたときだけであることに注意してください。
プレイヤーは好きなだけラウンドを続けられます。