#include <bits/stdc++.h>
#define ll long long
using namespace std;
ll conv(char x){
return x-'0';
}
int main()
{
ios_base::sync_with_stdio(0);
cin.tie(0);
string a,b,c; cin >> a >> b >> c;
vector<vector<ll>> tab(a.size(), vector<ll>(2));
ll i = 0;
if((conv(a[i]) + conv(b[i])) == conv(c[i])){
tab[i][0] = 1;
}
else{
tab[i][0] = 0;
}
if((conv(a[i]) + conv(b[i])+1) == conv(c[i])){
tab[i][1] = 1;
}
else{
tab[i][1] = 0;
}
ll wyn = tab[i][0];
for(ll i = 1; i < a.size(); ++i){
if((conv(a[i]) + conv(b[i]))%10 == conv(c[i])){
if(conv(a[i]) + conv(b[i]) >= 10){
tab[i][0] = tab[i-1][1];
}
else tab[i][0] = (tab[i-1][0]+1);
}
else{
tab[i][0] = 0;
}
if((conv(a[i]) + conv(b[i])+1)%10 == (conv(c[i]))){
if(conv(a[i]) + conv(b[i]+1) >= 10){
tab[i][1] = tab[i-1][1];
}
else tab[i][1] = (tab[i-1][0]+1);
}
else{
tab[i][1] = 0;
}
wyn += tab[i][0];
}
cout << wyn;
}
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 | #include <bits/stdc++.h> #define ll long long using namespace std; ll conv(char x){ return x-'0'; } int main() { ios_base::sync_with_stdio(0); cin.tie(0); string a,b,c; cin >> a >> b >> c; vector<vector<ll>> tab(a.size(), vector<ll>(2)); ll i = 0; if((conv(a[i]) + conv(b[i])) == conv(c[i])){ tab[i][0] = 1; } else{ tab[i][0] = 0; } if((conv(a[i]) + conv(b[i])+1) == conv(c[i])){ tab[i][1] = 1; } else{ tab[i][1] = 0; } ll wyn = tab[i][0]; for(ll i = 1; i < a.size(); ++i){ if((conv(a[i]) + conv(b[i]))%10 == conv(c[i])){ if(conv(a[i]) + conv(b[i]) >= 10){ tab[i][0] = tab[i-1][1]; } else tab[i][0] = (tab[i-1][0]+1); } else{ tab[i][0] = 0; } if((conv(a[i]) + conv(b[i])+1)%10 == (conv(c[i]))){ if(conv(a[i]) + conv(b[i]+1) >= 10){ tab[i][1] = tab[i-1][1]; } else tab[i][1] = (tab[i-1][0]+1); } else{ tab[i][1] = 0; } wyn += tab[i][0]; } cout << wyn; } |
English