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
です。