分析题目:

将输入的正整数n分割为n1n2两部分(n1为前一部分,n2为后一部分)

无论如何分割,对于n2的个位数都会等于n的个位数

因此对于分割后n1+n2是否为偶数的判断

只需要考虑分割出来的n1的个位数!

因此从左往右遍历数组,每一个地方都分割一次判断是否为偶数

最后输出答案即可。

代码:

#include "bits/stdc++.h"

using namespace std;
#define int long long
#define endl "\n"
#define PII pair<int,int>
#define PIII pair<int,PII>
const int MOD = 1e9 + 7;
const int N = 3e5;

bool cmp(PII p1, PII p2) {
    return p1.first + p1.second < p2.first + p2.second;
}

bool isP(char t1, char t2) {
    int c1 = t1 - '0';
    int c2 = t2 - '0';
    if ((c1 + c2) & 1)return false;
    return true;
}

void slu() {
    string t;
    cin >> t;
    int cnt = 0;
    for (int i = 0; i < t.size() - 1; i++) {
        if (isP(t[i], t[t.size() - 1]))cnt++;
    }
    cout << cnt;
}

signed main() {
    ios_base::sync_with_stdio(0);
    cin.tie(0);
    cout.tie(0);
    int T;
//    cin >> T;
    T = 1;
    while (T--)slu();

}