1 条题解
-
0
C++ :
#include <bits/stdc++.h> using namespace std; unsigned r[2020], b = 1, m = 0, ans = 0; // 声明数组和变量 string s; int main() { r[0] = 1; // 初始化r[0]为1,r数组用于记录每个余数出现的次数 cin >> s; // 读取输入字符串 for (int i = s.size() - 1; i >= 0; --i) { // 从字符串末尾开始遍历 m = (m + (s[i] - '0') * b) % 2019; // 计算当前前缀对应的余数 b = (b * 10) % 2019; // 计算下一个前缀对应的b值 ans += r[m]; // 累加当前余数出现的次数 ++r[m]; // 更新当前余数的出现次数 } cout << ans << endl; // 输出结果 return 0; }
- 1
信息
- ID
- 456
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- 10
- 标签
- (无)
- 递交数
- 6
- 已通过
- 0
- 上传者