マルチテストについての説明はこちら (サンプル問題を確認されていない方のみお読みください。)
配点:400 点
問題文
Judge 君と Contestant 君は数字当てゲーム「n-guesser」で遊びます.(n は正の整数)
n-guesser は次のようなゲームです:
- Judge 君が 0 以上 n 以下の整数 x (鍵と呼ぶことにする) を自由に決め,Contestant 君がその数字を当てる.
- Contestant 君と Judge 君とは次のような対話を何度でも行える:
- Contestant 君が Judge 君に,実数 q を自由に選び「q?」と質問する.
- 「q?」と質問された Judge 君は, Contestant 君に 2 命題「∣q−x∣<21 である」および「q≤x である」の真偽をそれぞれ教える.
Contestant 君は以下の戦略を立てました:
- 2 実数 l,r を用意し,はじめ (l,r)=(0,n) とする.
- 対話が終了されるまで以下を繰り返す:
- q=21(l+r) として,Judge 君に「q?」と質問をする.
- ∣q−x∣<21 であるならば鍵である整数の値が確定するため,対話を終了する.
- ∣q−x∣<21 でなく,かつ q≤x ならば l を q で置換し,繰り返しの先頭に戻る.
- ∣q−x∣<21 でなく,かつ q≤x でないならば r を q で置換し,繰り返しの先頭に戻る.
Contestant 君は戦略通りにゲームをします.
また,Judge 君は整数 X が好きなので,Judge 君が n-guesser (n≥X) を行うとき,必ず鍵として整数 X を選ぶことが分かっています.
なおこの情報はあなただけが知っています.(Contestant 君は知りません.)
X-guesser,(X+1)-guesser,…,n-guesser (n≥X),… のうち,Contestant 君の質問回数がちょうど K 回になるようなものはいくつありますか?
求めてください.
なお,この問題の制約下で答えは有限個であることが示せます.
制約
- 1≤Φ≤103
- 1≤X<240
- 1≤K≤12
- X,K は整数
入力
各テストケースの入力は,それぞれ以下の形式で与えられる:
出力
答えを出力せよ.
サンプル
{7,9,10,15,16,17,45,46,47,48,49,50,51}-guesser が満たします.
たとえば 7-guesser は次のように進行し,質問は 3 回行われます:
- Judge 君が鍵として 0 以上 7 以下の整数 x=6(=X) を決める.
- Contestant 君は (l,r)=(0,7) と初期化する.
- Contestant 君が「27(=21(l+r))?」と質問する.
- Judge 君によって「∣27−x∣<21 ではない」かつ「27≤x である」ことが伝えられる.
- Contestant 君は (l,r)=(27,7) と更新する.
- Contestant 君が「421(=21(l+r))?」と質問する.
- Judge 君によって「∣421−x∣<21 ではない」かつ「421≤x である」ことが伝えられる.
- Contestant 君は (l,r)=(421,7) と更新する.
- Contestant 君が「849(=21(l+r))?」と質問する.
- Judge 君によって「∣849−x∣<21 である」かつ「849≤x ではない」ことが伝えられる.
- Contestant 君は x=⌊849⌋=6 であることを理解する.
入力例2
3
141 1
1000 5
99824435 3