/******************************************************************************
Online C++ Compiler.
Code, Compile, Run and Debug C++ program online.
Write your code in this editor and press "Run" button to compile and execute it.
*******************************************************************************/
#include <bits/stdc++.h>
using namespace std;
int main()
{
string is,js,ws;
getline(cin,is);
getline(cin,js);
getline(cin,ws);
int n=is.size();
int lbc=0;
int lzc=0;
long long w=0;
for(int x=n-1; x>=0; x--) {
int a=is[x]-'0';
int b=js[x]-'0';
int c=ws[x]-'0';
int nlbc=0, nlzc=0;
bool good0 = (a+b)%10 == c;
bool good1 = (a+b+1)%10 == c;
if(good0){
if(a+b < 10){
nlbc = lbc + 1;
}
else{
nlzc = lbc + 1;
}
}
if(good1){
if(a+b+1 < 10){
nlbc += lzc;
}
else{
nlzc += lzc;
}
}
w += nlbc;
lbc = nlbc;
lzc = nlzc;
}
cout<<w<<endl;
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 | /****************************************************************************** Online C++ Compiler. Code, Compile, Run and Debug C++ program online. Write your code in this editor and press "Run" button to compile and execute it. *******************************************************************************/ #include <bits/stdc++.h> using namespace std; int main() { string is,js,ws; getline(cin,is); getline(cin,js); getline(cin,ws); int n=is.size(); int lbc=0; int lzc=0; long long w=0; for(int x=n-1; x>=0; x--) { int a=is[x]-'0'; int b=js[x]-'0'; int c=ws[x]-'0'; int nlbc=0, nlzc=0; bool good0 = (a+b)%10 == c; bool good1 = (a+b+1)%10 == c; if(good0){ if(a+b < 10){ nlbc = lbc + 1; } else{ nlzc = lbc + 1; } } if(good1){ if(a+b+1 < 10){ nlbc += lzc; } else{ nlzc += lzc; } } w += nlbc; lbc = nlbc; lzc = nlzc; } cout<<w<<endl; return 0; } |
English