atcoder#ABC281H. [ABC281Ex] Alchemy
[ABC281Ex] Alchemy
题目描述
高橋君は「レベル の宝石」を 種類、それぞれ 個ずつ持っています。
また、 以上の整数 に対し、以下の条件すべてを満たす 個の宝石を鍋に入れることで代わりに「レベル の宝石」を 個生成できます。
- どの 個の宝石も種類が異なる。
- どの宝石のレベルも 未満である。
- 以上の整数 すべてについて、「レベル の宝石」は高々 個である。
高橋君が手に入れられる可能性がある「レベル の宝石」が何種類あるかを で求めてください。
ただし、レベルが 以上の宝石同士は、それぞれを生成するときに用いた宝石の集合が一致しているときに同じ種類であるとみなします。
- ここで、宝石の集合同士は、ある一方の集合に含まれる宝石であってもう一方の集合に同じ種類の宝石が含まれないようなものが存在するときに区別されます。
また、任意の「レベル の宝石」と任意のレベルが 以上の宝石は種類が異なります。
输入格式
入力は以下の形式で標準入力から与えられる。
输出格式
答えを出力せよ。
题目大意
高桥君有 种等级 的宝石,宝石数量充分多。
他可以利用 个满足以下条件的宝石来合成一个等级 的宝石()。
- 不存在相同种类的宝石。
- 每个宝石的等级严格小于 。
- 对于 的等级,每等级最多有 个宝石。
求高桥君能获得等级 宝石的种类数,对 取模。
对于等级 的宝石,种类相同当且仅当合成它们的宝石的种类完全相同。任意等级不同的宝石,种类一定不同。
3 3
10
1 100
100
200000 1000000000
797585162
提示
制約
- は整数
Sample Explanation 1
種類の「レベル の宝石」を手に入れる方法を以下に示します。 - 種類の「レベル の宝石」を鍋に入れる。 - 高橋君は「レベル の宝石」を 種類持っているため、「レベル の宝石」を 種類選ぶ方法は 通りです。このため、この方法で手に入れられる「レベル の宝石」は 種類です。 - 種類の「レベル の宝石」と 種類の「レベル の宝石」を鍋に入れる。 - 「レベル の宝石」は 種類の「レベル の宝石」を鍋に入れることで手に入れられます。 - 高橋君は「レベル の宝石」を 種類持っているため、「レベル の宝石」を 種類選ぶ方法は 通りです。このため、ここで使われる「レベル の宝石」として考えられるものは 種類です。 - 「レベル の宝石」として考えられるものが 種類、 種類の「レベル の宝石」を選ぶ方法が 通りあるため、この方法で手に入れられる「レベル の宝石」は 種類です。