描述
为了保证边境重要的军事基地不会被敌人入侵,我军在敌军的必经之路上埋了 xx 颗地雷,已知这片必经之地是n×m的方阵形状,为了让我们的友军知道哪些地方是有地雷的,我军工兵绘制了一张地雷分布图。在这张分布图中,如果某个点没有地雷,那么这个点所标记数字的各个位之和会是一个偶数;反之如果该点有地雷,这个点所标记数字的各个位之和是一个奇数。
请你编程计算出,该区域总共埋了多少颗地雷。
输入描述
第一行有两个整数n和m,分别代表地图的大小有n行m列(n和m都是10~100之间的整数)
接下来n行,每行有m个整数,代表是否有地雷的标记数(这些标记数都是<=9999的整数)
输出描述
一个整数,代表该区域总共埋了多少颗地雷。
用例输入 1
5 6
12 35 90 21 1 9
91 3892 8749 342 3421 89
1881 1111 39 4 1 34
9 93 34 12 45 0
67 4 34 19 235 32
用例输出 1
16
#include <iostream>
#include <vector>
using namespace std;
int countMines(int n, int m, const vector<vector<int>>& grid) {
int count = 0;
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
int sum = 0;
int num = grid[i][j];
while (num > 0) {
sum += num % 10;
num /= 10;
}
if (sum % 2 != 0) {
count++;
}
}
}
return count;
}
int main() {
int n, m;
cin >> n >> m;
vector<vector<int>> grid(n, vector<int>(m));
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
cin >> grid[i][j];
}
}
int mineCount = countMines(n, m, grid);
cout << mineCount << endl;
return 0;
}