#include<iostream>
#include<vector>
using namespace std;
void readInput(vector<int>& a) {
char c;
while (cin.get(c) && c != '\n') {
a.push_back(c - '0');
}
}
int main() {
vector<int> a, b, c;
readInput(a);
readInput(b);
readInput(c);
int totalSeq = 0, currSeq = 0, carry = 0;
int n = a.size();
for (int i = n - 1; i >= 0; i--) {
if (a[i] + b[i] == c[i]) {
if (carry > 0) {
carry = 0;
currSeq = 0;
}
currSeq++;
totalSeq += currSeq;
} else if (a[i] + b[i] + carry == c[i]) {
carry = 0;
currSeq++;
totalSeq += currSeq;
} else if ((a[i] + b[i] + carry) % 10 == c[i]) {
carry = 1;
} else {
currSeq = 0;
}
}
cout << totalSeq;
return 0;
}
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 40 41 | #include<iostream> #include<vector> using namespace std; void readInput(vector<int>& a) { char c; while (cin.get(c) && c != '\n') { a.push_back(c - '0'); } } int main() { vector<int> a, b, c; readInput(a); readInput(b); readInput(c); int totalSeq = 0, currSeq = 0, carry = 0; int n = a.size(); for (int i = n - 1; i >= 0; i--) { if (a[i] + b[i] == c[i]) { if (carry > 0) { carry = 0; currSeq = 0; } currSeq++; totalSeq += currSeq; } else if (a[i] + b[i] + carry == c[i]) { carry = 0; currSeq++; totalSeq += currSeq; } else if ((a[i] + b[i] + carry) % 10 == c[i]) { carry = 1; } else { currSeq = 0; } } cout << totalSeq; return 0; } |
English