#include<bits/stdc++.h>
using namespace std;
int main(){
ios::sync_with_stdio(false);
cin.tie(0); cout.tie(0);
string a,b,c; cin>>a>>b>>c;
int n=a.length();
vector l(n,vector<int>(2));
for(int i=0;i<n;i++){
int da=a[i]-48,db=b[i]-48,dc=c[i]-48;
if((da+db)%10==dc){
if(i){
if(da+db==dc)l[i][0]=l[i-1][0]+1;
else l[i][0]=l[i-1][1];
}
else if(da+db==dc)l[i][0]=1;
}
if((da+db+1)%10==dc){
if(i){
if(da+db+1==dc)l[i][1]=l[i-1][0]+1;
else l[i][1]=l[i-1][1];
}
else if(da+db+1==dc)l[i][1]=1;
}
}
long long s=0;
for(int i=0;i<n;i++)
s+=l[i][0];
cout<<s<<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 | #include<bits/stdc++.h> using namespace std; int main(){ ios::sync_with_stdio(false); cin.tie(0); cout.tie(0); string a,b,c; cin>>a>>b>>c; int n=a.length(); vector l(n,vector<int>(2)); for(int i=0;i<n;i++){ int da=a[i]-48,db=b[i]-48,dc=c[i]-48; if((da+db)%10==dc){ if(i){ if(da+db==dc)l[i][0]=l[i-1][0]+1; else l[i][0]=l[i-1][1]; } else if(da+db==dc)l[i][0]=1; } if((da+db+1)%10==dc){ if(i){ if(da+db+1==dc)l[i][1]=l[i-1][0]+1; else l[i][1]=l[i-1][1]; } else if(da+db+1==dc)l[i][1]=1; } } long long s=0; for(int i=0;i<n;i++) s+=l[i][0]; cout<<s<<endl; return 0; } |
English