100 atcoder#AGC061F. [AGC061F] Perfect Strings
[AGC061F] Perfect Strings
题目描述
正の整数 があります。
0 と 1 からなる文字列 は、以下を全て満たすときに良いといわれます。
- は空でない。
- に含まれる
1の個数は の倍数である。 - に含まれる
0の個数は の倍数である。
良い文字列は、より短い良い文字列を(連続した)部分文字列として含まないときに完璧であるといわれます。例えば、 のとき、文字列 111, 00, 10101 は完璧ですが、0000, 11001 は完璧ではありません。
任意の について、完璧な文字列の個数は有限であることが示せます。与えられた について、この個数を で割った余りを求めてください。
输入格式
入力は、標準入力から以下の形式で与えられる。
输出格式
答えを出力せよ。
题目大意
有正整数 ,称一个非空 串是好的当且仅当串中 的个数是 的倍数, 的个数是 的倍数。
一个串是完美的,当且仅当其是好的,且其所有非空子串均不是好的。
对于给定的 ,求完美的串的个数,答案对 取模。
2 2
4
3 2
7
23 35
212685109
提示
制約
- 入力中の値は全て整数である。
Sample Explanation 1
完璧な文字列は 00, 0101, 1010, 11 です。
Sample Explanation 2
完璧な文字列は 00, 01011, 01101, 10101, 10110, 11010, 111 です。