#include <cstdio>
#include <cstring>
char A[1000001], B[1000001], C[1000001];
int main(void) {
scanf("%s%s%s", A, B, C);
int n = strlen(A);
int p = 0, l = 0;
long long s = 0;
for (int i = n-1; i >= 0; i--) {
int d = A[i]+B[i]-C[i]-'0';
switch (d) {
case 0:
if (p) l = 0;
s += ++l, p = 0;
break;
case -1:
if (!p) l = 0;
else s += ++l, p = 0;
break;
case 10:
if (p) l = 0;
p = 1;
break;
case 9:
if (!p) l = 0;
break;
default:
p = 0, l = 0;
}
}
printf("%lld\n", s);
}
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 | #include <cstdio> #include <cstring> char A[1000001], B[1000001], C[1000001]; int main(void) { scanf("%s%s%s", A, B, C); int n = strlen(A); int p = 0, l = 0; long long s = 0; for (int i = n-1; i >= 0; i--) { int d = A[i]+B[i]-C[i]-'0'; switch (d) { case 0: if (p) l = 0; s += ++l, p = 0; break; case -1: if (!p) l = 0; else s += ++l, p = 0; break; case 10: if (p) l = 0; p = 1; break; case 9: if (!p) l = 0; break; default: p = 0, l = 0; } } printf("%lld\n", s); } |
English