#include <bits/stdc++.h>
using namespace std;
int k,n,i,j,u,e,m,ad,bd,cd,r;
long long z,w,f;
vector<long long> h;
priority_queue<long long> p;
vector<vector<long long>> g;
vector<array<long long,2>> x;
vector<long long> mm;
string a,b,c;
int main(){
ios_base::sync_with_stdio(0);
cin.tie(0);
cin >> a >> b >> c;
n=a.length();f=0;
r=0;
for(i=0;i<n;i++) {
ad=a[i]-'0';
bd=b[i]-'0';
cd=c[i]-'0';
if(ad+bd==cd) {
if(r==0) f++;
else {mm.push_back(f); f=1; r=0;}
}
else if(ad+bd==cd+10 and r==1) {r=0; f++;}
else if(ad+bd==cd+9 and r==1) continue;
else if(ad+bd==cd-1 and r==0) {r=1;}
else if(ad+bd==cd-1 and r==1) {r=1; mm.push_back(f); f=0;}
else {mm.push_back(f);f=0; r=0;}
}
mm.push_back(f);
z=0;
for(auto xx:mm) {
//cout <<xx << '\n';
z+=xx*(xx+1)/2;}
cout << z << '\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 | #include <bits/stdc++.h> using namespace std; int k,n,i,j,u,e,m,ad,bd,cd,r; long long z,w,f; vector<long long> h; priority_queue<long long> p; vector<vector<long long>> g; vector<array<long long,2>> x; vector<long long> mm; string a,b,c; int main(){ ios_base::sync_with_stdio(0); cin.tie(0); cin >> a >> b >> c; n=a.length();f=0; r=0; for(i=0;i<n;i++) { ad=a[i]-'0'; bd=b[i]-'0'; cd=c[i]-'0'; if(ad+bd==cd) { if(r==0) f++; else {mm.push_back(f); f=1; r=0;} } else if(ad+bd==cd+10 and r==1) {r=0; f++;} else if(ad+bd==cd+9 and r==1) continue; else if(ad+bd==cd-1 and r==0) {r=1;} else if(ad+bd==cd-1 and r==1) {r=1; mm.push_back(f); f=0;} else {mm.push_back(f);f=0; r=0;} } mm.push_back(f); z=0; for(auto xx:mm) { //cout <<xx << '\n'; z+=xx*(xx+1)/2;} cout << z << '\n'; } |
English