亲朋数

【问题描述】
给定一串长度为𝐿、由数字 0-9组成的数字串𝑆。容易知道,它的连续子串共有
𝐿(𝐿+1)/2个。如果某个子串对应的数(允许有前导零)是𝑝的倍数,则称该子串为
数字串𝑆对于𝑝的亲朋数。
例如,数字串𝑆为“12342”、𝑝为2,则在 15个连续子串中,亲朋数有“12”、
“1234”、“12342”、“2”、“234”、“2342”、“34”、“342”、“4”、 “42”、“2”等共 11 个。注意其中“2”出现了 2次,但由于其在𝑆中的位置不 同,记为不同的亲朋数。
现在,告诉你数字串𝑆和正整数𝑝,你能计算出有多少个亲朋数吗?

【输入描述】
输入的第一行,包含一个正整数𝑝。约定2 ≤ 𝑝 ≤ 128。

输入的第二行,包含一个长为𝐿的数字串𝑆。约定1 ≤ 𝐿 ≤ 10^6。
【输出描述】
输出一行,包含一个正整数𝐶,表示亲朋数的个数。

【样例输入1】

2
102
【样例输出1】

5
【样例解释1】

5 个亲朋数,分别为“10”、“102”、“0”、“02”、“2”。
【样例输入2】

2
12342
【样例输出2】

11

信息

ID
2460
难度
9
分类
(无)
标签
递交数
4
已通过
2
通过率
50%
上传者

相关

在下列比赛中:

2023CSP热身2