#include<bits/stdc++.h>
using namespace std;
#define int long long
using un = unsigned;
#define dbg(X) cout << __LINE__ <<' ' << X << endl;
void solve()
{
string a;
string b;
string c;
int rzad = 0,res = 0,n;
cin >> a >> b >> c;
a += '0';
b += '0';
c += '0';
n = a.size()-1;
for(int i = n-1;i>=0;i--)
{
if((a[i+1]-'0')+(b[i+1]-'0')>9 && (a[i+1]-'0'+b[i+1]-'0')%10==c[i+1]-'0')
{
if((a[i]-'0'+b[i]-'0'+1)%10==c[i]-'0')
{
//res += rzad;
a[i]++;
if(!((a[i]-'0')+(b[i]-'0')>9))
{
rzad++;
}
}
else
{
res += (rzad*(rzad+1))/2;
rzad = 0;
if((a[i]-'0'+b[i]-'0')%10==c[i]-'0')
{
//res += rzad+1;
if(!((a[i]-'0')+(b[i]-'0')>9))
{
rzad++;
}
}
}
}
else
{
if((a[i]-'0'+b[i]-'0')%10==c[i]-'0')
{
//res += rzad+1;
if(!((a[i]-'0')+(b[i]-'0')>9))
{
rzad++;
}
}
else
{
res += (rzad*(rzad+1))/2;
rzad = 0;
}
}
}
res += (rzad*(rzad+1))/2;
cout << res;
}
signed main()
{
ios_base::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
solve();
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 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 | #include<bits/stdc++.h> using namespace std; #define int long long using un = unsigned; #define dbg(X) cout << __LINE__ <<' ' << X << endl; void solve() { string a; string b; string c; int rzad = 0,res = 0,n; cin >> a >> b >> c; a += '0'; b += '0'; c += '0'; n = a.size()-1; for(int i = n-1;i>=0;i--) { if((a[i+1]-'0')+(b[i+1]-'0')>9 && (a[i+1]-'0'+b[i+1]-'0')%10==c[i+1]-'0') { if((a[i]-'0'+b[i]-'0'+1)%10==c[i]-'0') { //res += rzad; a[i]++; if(!((a[i]-'0')+(b[i]-'0')>9)) { rzad++; } } else { res += (rzad*(rzad+1))/2; rzad = 0; if((a[i]-'0'+b[i]-'0')%10==c[i]-'0') { //res += rzad+1; if(!((a[i]-'0')+(b[i]-'0')>9)) { rzad++; } } } } else { if((a[i]-'0'+b[i]-'0')%10==c[i]-'0') { //res += rzad+1; if(!((a[i]-'0')+(b[i]-'0')>9)) { rzad++; } } else { res += (rzad*(rzad+1))/2; rzad = 0; } } } res += (rzad*(rzad+1))/2; cout << res; } signed main() { ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); solve(); return 0; } |
English