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
である部分文字列も許容されることに注意してください。