#include <bits/stdc++.h>
using namespace std;
int ord(char x){
return int(x) - int('0');
}
int main(){
ios_base::sync_with_stdio(false);
cin.tie(0);
string a, b, c;
cin >> a >> b >> c;
long long int ans = 0, ileDokladnych = 0, ileNiedokladnych = 0;
for(int i=int(a.size())-1; i>=0; i--){
if(ord(a[i]) + ord(b[i]) == ord(c[i])){
ileDokladnych++;
ileNiedokladnych = 0;
} else if(ord(a[i]) + ord(b[i]) == ord(c[i]) + 10){
ileNiedokladnych = ileDokladnych + 1;
ileDokladnych = 0;
} else if(ord(a[i]) + ord(b[i]) == ord(c[i]) - 1){
ileDokladnych = ileNiedokladnych;
ileNiedokladnych = 0;
} else if(ord(a[i]) + ord(b[i]) == ord(c[i]) + 9){
ileDokladnych = 0;
} else {
ileDokladnych = 0;
ileNiedokladnych = 0;
}
ans += ileDokladnych;
// cout << ileDokladnych << " " << ileNiedokladnych << "\n";
}
cout << ans;
}
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 <bits/stdc++.h> using namespace std; int ord(char x){ return int(x) - int('0'); } int main(){ ios_base::sync_with_stdio(false); cin.tie(0); string a, b, c; cin >> a >> b >> c; long long int ans = 0, ileDokladnych = 0, ileNiedokladnych = 0; for(int i=int(a.size())-1; i>=0; i--){ if(ord(a[i]) + ord(b[i]) == ord(c[i])){ ileDokladnych++; ileNiedokladnych = 0; } else if(ord(a[i]) + ord(b[i]) == ord(c[i]) + 10){ ileNiedokladnych = ileDokladnych + 1; ileDokladnych = 0; } else if(ord(a[i]) + ord(b[i]) == ord(c[i]) - 1){ ileDokladnych = ileNiedokladnych; ileNiedokladnych = 0; } else if(ord(a[i]) + ord(b[i]) == ord(c[i]) + 9){ ileDokladnych = 0; } else { ileDokladnych = 0; ileNiedokladnych = 0; } ans += ileDokladnych; // cout << ileDokladnych << " " << ileNiedokladnych << "\n"; } cout << ans; } |
English