No.2839 AND Constraint
レベル : / 実行時間制限 : 1ケース 2.000秒 / メモリ制限
: 512 MB / 標準ジャッジ問題
タグ : / 解いたユーザー数 38
作問者 :
milkcoffee
/ テスター :
とりゐ
👑
ygussany
タグ : / 解いたユーザー数 38
作問者 :


問題文最終更新日: 2024-08-03 20:24:11
問題文
あなたは変数 を持っています。各 について順番に以下の操作を行います。
- を「 を 二進表記したときに末尾に連続する の個数」とする。 例えば、 のとき、 の二進表記は であるため である。
かつ、 を満たす整数 を選び、 を で置き換える。
ただし、 は bit ごとの論理積を表します。操作の具体的な例はサンプル をご覧ください。
回の操作のうち、 回は として操作を行い、残りの 回は として操作を行います。
回の操作列としてあり得るものの数を で割ったあまりを求めて下さい。
ただし、 つの操作列が同じであるとは、「どの操作についても、選んだ整数 が等しいこと」とします。
入力
- 入力は全て整数
出力
答えを整数で出力してください。
サンプル
サンプル1
入力
2 2
出力
2
行う操作は 回で、そのうち として操作を行った回数が 回のものを数えます。
あり得る 通りの操作列について、各操作の前後における を表すと以下の通りです。矢印の上の整数はその操作で選んだ の値
例えば、以下のような操作列は存在し得ません。
サンプル2
入力
3 7
出力
1
以下の 通りのみが条件を満たします。表記は サンプル と同様
サンプル3
入力
1 500
出力
0
操作を 回しか行わないため、 として操作を行えるのは高々 回です。よって明らかに条件を満たす操作列は存在しません。
サンプル4
入力
234 432
出力
611707541
答えを で割ったあまりを求めてください。
提出するには、Twitter 、GitHub、 Googleもしくは右上の雲マークをクリックしてアカウントを作成してください。