题解#星码校验
2026-10-04 10:15:49
发布于:湖南
11阅读
0回复
0点赞
这是一道简单的模拟题,直接按题意计算即可。
思路:
对每个字符串,遍历每一位(下标从 0 开始):
下标为偶数(0,2,4,...)→ 奇数位,累加到
下标为奇数(1,3,5,...)→ 偶数位,累加到
若,计数器加一。
Python 代码:
import sys
def main():
data = sys.stdin.read().split()
n = int(data[0])
k = int(data[1])
count = 0
for i in range(2, 2 + n):
s = data[i]
odd = even = 0
for idx, ch in enumerate(s):
if idx % 2 == 0:
odd += int(ch)
else:
even += int(ch)
if abs(odd - even) <= k:
count += 1
print(count)
main()
C++代码:
#include <iostream>
#include <string>
#include <cmath>
using namespace std;
int main() {
int n, k;
cin >> n >> k;
int count = 0;
for (int i = 0; i < n; i++) {
string s;
cin >> s;
int oddSum = 0, evenSum = 0;
for (int j = 0; j < (int)s.size(); j++) {
int digit = s[j] - '0';
if (j % 2 == 0) {
oddSum += digit; // 第1,3,5...位(下标0,2,4...)
} else {
evenSum += digit; // 第2,4,6...位(下标1,3,5...)
}
}
if (abs(oddSum - evenSum) <= k) {
count++;
}
}
cout << count << endl;
return 0;
}
C++代码说明:
用读入编号,避免大整数问题(虽然长度≤18可以用,但字符串更直观)
下标从 0 开始,偶数下标对应奇数位,奇数下标对应偶数位
函数计算绝对值,与比较即可
这里空空如也





有帮助,赞一个