#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
int main() {
ios_base::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
string a, b, s;
cin >> a >> b >> s;
long long n = a.size();
vector<long long> v(n), w(n);
for (long long i = 0; i < n; i++) {
if (((a[i] - '0') + (b[i] - '0')) % 10 == (s[i] - '0')) {
long long sum = 0;
if (i > 0) {
if ((a[i] - '0') + (b[i] - '0') < 10) sum = v[i - 1] + 1;
else sum = w[i - 1];
}
else if ((a[i] - '0') + (b[i] - '0') < 10) sum = 1;
v[i] = sum;
}
if (((a[i] - '0') + (b[i] - '0') + 1) % 10 == (s[i] - '0')) {
long long sum = 0;
if (i > 0) {
if (((a[i] - '0') + (b[i] - '0') + 1) < 10) sum = v[i - 1] + 1;
else sum = w[i - 1];
}
else if ((a[i] - '0') + (b[i] - '0') + 1 < 10) sum = 1;
w[i] = sum;
}
}
long long wyn = 0;
for (long long i = 0; i < v.size(); i++) {
wyn += v[i];
}
cout << wyn;
}
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | #include<iostream> #include<vector> #include<algorithm> using namespace std; int main() { ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); string a, b, s; cin >> a >> b >> s; long long n = a.size(); vector<long long> v(n), w(n); for (long long i = 0; i < n; i++) { if (((a[i] - '0') + (b[i] - '0')) % 10 == (s[i] - '0')) { long long sum = 0; if (i > 0) { if ((a[i] - '0') + (b[i] - '0') < 10) sum = v[i - 1] + 1; else sum = w[i - 1]; } else if ((a[i] - '0') + (b[i] - '0') < 10) sum = 1; v[i] = sum; } if (((a[i] - '0') + (b[i] - '0') + 1) % 10 == (s[i] - '0')) { long long sum = 0; if (i > 0) { if (((a[i] - '0') + (b[i] - '0') + 1) < 10) sum = v[i - 1] + 1; else sum = w[i - 1]; } else if ((a[i] - '0') + (b[i] - '0') + 1 < 10) sum = 1; w[i] = sum; } } long long wyn = 0; for (long long i = 0; i < v.size(); i++) { wyn += v[i]; } cout << wyn; } |
English