atcoder#ABC158E. [ABC158E] Divisible Substring
[ABC158E] Divisible Substring
题目描述
高橋君は 0 から 9 までの数字から成る長さ の文字列 を持っています。
素数 が好きな高橋君は、 の空でない連続する部分文字列 個のうち、十進表記の整数と見なした際に で割り切れるものの個数を知りたくなりました。
ただし部分文字列は先頭が 0 であっても良いものとし、文字列として等しい場合や、整数と見なした際に等しい場合も、部分文字列の 内の位置で区別します。
高橋君のためにこの個数を計算してください。
输入格式
入力は以下の形式で標準入力から与えられる。
输出格式
の空でない連続する部分文字列であって、十進表記の整数と見なした際に で割り切れるものの個数を出力せよ。
题目大意
给定一个质数 和一个字符串 。
问有多少个 的子串 满足:将 视为十进制整数后,这个数是 的倍数。
4 3
3543
6
4 2
2020
10
20 11
33883322005544116655
68
提示
制約
- は数字から成る
- は素数である
Sample Explanation 1
= 3543 です。 の空でない連続する部分文字列は次の 個があります。 - 3 は で割り切れる。 - 35 は で割り切れない。 - 354 は で割り切れる。 - 3543 は で割り切れる。 - 5 は で割り切れない。 - 54 は で割り切れる。 - 543 は で割り切れる。 - 4 は で割り切れない。 - 43 は で割り切れない。 - 3 は で割り切れる。 このうち で割り切れるものは 個であるので、 を出力してください。
Sample Explanation 2
= 2020 です。 の空でない連続する部分文字列は 個ありますが、その全てが で割り切れるので を出力してください。 先頭が 0 である部分文字列も許容されることに注意してください。