#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define ff first
#define ss second
#define pb push_back
int main()
{
ios_base::sync_with_stdio(0); cin.tie(0);
string a,b,c; cin>>a>>b>>c;
vector<int> in((int)a.size()), out((int) a.size());
for(int i=0; i<(int)a.size(); i++)
{
if((a[i]-'0')+(b[i]-'0')-(c[i]-'0')==-1)
{
in[i]=1; out[i]=0;
}
else if((a[i]-'0')+(b[i]-'0')-(c[i]-'0')==0)
{
in[i]=0; out[i]=0;
}
else if((a[i]-'0')+(b[i]-'0')-(c[i]-'0')==9)
{
out[i]=1; in[i]=1;
}
else if((a[i]-'0')+(b[i]-'0')-(c[i]-'0')==10)
{
out[i]=1; in[i]=0;
}
else
{
out[i]=-1; in[i]=-1;
}
}
ll ans=0;
ll poczatki=0;
for(int i=0; i<(int)a.size(); i++)
{
if(out[i]==-1) {poczatki=0; continue;}
if(i>0 && in[i-1]!=out[i]) poczatki=0;
if(i==0 && out[i]==1) poczatki=0;
if(out[i]==0) poczatki++;
if(in[i]==0) ans+=poczatki;
}
cout<<ans<<'\n';
}
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 | #include <bits/stdc++.h> using namespace std; #define ll long long #define ff first #define ss second #define pb push_back int main() { ios_base::sync_with_stdio(0); cin.tie(0); string a,b,c; cin>>a>>b>>c; vector<int> in((int)a.size()), out((int) a.size()); for(int i=0; i<(int)a.size(); i++) { if((a[i]-'0')+(b[i]-'0')-(c[i]-'0')==-1) { in[i]=1; out[i]=0; } else if((a[i]-'0')+(b[i]-'0')-(c[i]-'0')==0) { in[i]=0; out[i]=0; } else if((a[i]-'0')+(b[i]-'0')-(c[i]-'0')==9) { out[i]=1; in[i]=1; } else if((a[i]-'0')+(b[i]-'0')-(c[i]-'0')==10) { out[i]=1; in[i]=0; } else { out[i]=-1; in[i]=-1; } } ll ans=0; ll poczatki=0; for(int i=0; i<(int)a.size(); i++) { if(out[i]==-1) {poczatki=0; continue;} if(i>0 && in[i-1]!=out[i]) poczatki=0; if(i==0 && out[i]==1) poczatki=0; if(out[i]==0) poczatki++; if(in[i]==0) ans+=poczatki; } cout<<ans<<'\n'; } |
English