4388: GESP C++六级样题_4亲朋数
内存限制:128 MB
时间限制:1.000 S
评测方式:文本比较
命题人:
提交:1
解决:1
题目描述
样例输入 复制
2
102
样例输出 复制
5
提示
#include <iostream> using namespace std; char S[1000001]; long long st_old[128]; long long st_new[128]; int main() { int p = 0; cin >> p; cin >> S; for (int i = 0; i < p; i++) st_old[i] = 0; long long res = 0; for (int t = 0; S[t] != '\0'; t++) { for (int i = 0; i < p; i++) st_new[i] = 0; int d = S[t] - '0'; for (int i = 0; i < p; i++) st_new[(i * 10 + d) % p] += st_old[i]; st_new[d % p]++; res += st_new[0]; for (int i = 0; i < p; i++) st_old[i] = st_new[i]; } cout << res << endl; return 0; }