Mô tả bài toán
Cho chuỗi S n chữ số. Xâu con là chẵn nếu số nó biểu diễn là chẵn. Đếm số xâu con chẵn.
Ví dụ
S="1234" → xâu con chẵn: "2","4","12","34","234","1234" → 6.
Thuật toán
Xâu con kết thúc tại i (0-based) là chẵn nếu S[i] chẵn. Số xâu con kết thúc tại i = i+1. Tổng = sum(i+1) cho mọi i với S[i] chẵn.
Code C++
#include <bits/stdc++.h>
using namespace std;
int solve(string S) {
long long ans = 0;
for (int i = 0; i < (int)S.size(); i++)
if ((S[i]-'0') % 2 == 0)
ans += i + 1;
return ans;
}
int main() {
string S = "1234";
cout << solve(S) << endl;
return 0;
}
Đầu vào / Đầu ra
Input: 1234
Output: 6