aa = input()
bb = input()
cc = input()
n = len(aa)
# t = 0
# for i in range(n):
# for j in range(i + 1, n + 1):
# a = int(aa[i:j])
# b = int(bb[i:j])
# c = int(cc[i:j])
# if a + b == c:
# t += 1
# print(t)
t = 0
ncc = 0
i = n - 1
currentCarry = 0
# print()
nextCarry = 0
extraChance = False
while i >= 0:
# print(f"i: {i}")
currentCarry = nextCarry
a = int(aa[i])
b = int(bb[i])
c = int(cc[i])
digitSum = (a + b) % 10
trueSum = (a + b) + currentCarry
nextCarry = trueSum // 10
correct = trueSum % 10 == c
if nextCarry == 0 and correct:
# we can glue
# print(f"glueing, t: {t} -> {t + ncc}")
t += ncc
if digitSum == c and (a + b) <= 9 and not extraChance:
# print(f"digit sum equal, t: {t} -> {t + 1}")
t += 1
if currentCarry == 0:
ncc += 1
# most important
extraChance = False
if correct:
# print(f"music continues")
x = 0
else:
# print(f"music stops.")
ncc = 0
if currentCarry == 1:
# extra chance
extraChance = True
i += 1
currentCarry = 0
nextCarry = 0
# print(f"t: {t}")
# print(f"currentCarry: {currentCarry}")
# print(f"nextCarry: {nextCarry}")
# print(f"ncc: {ncc}")
# print(f"trueSum: {trueSum}")
# print(f"digitSum: {digitSum}")
# print()
# print()
i -= 1
print(t)
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 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 | aa = input() bb = input() cc = input() n = len(aa) # t = 0 # for i in range(n): # for j in range(i + 1, n + 1): # a = int(aa[i:j]) # b = int(bb[i:j]) # c = int(cc[i:j]) # if a + b == c: # t += 1 # print(t) t = 0 ncc = 0 i = n - 1 currentCarry = 0 # print() nextCarry = 0 extraChance = False while i >= 0: # print(f"i: {i}") currentCarry = nextCarry a = int(aa[i]) b = int(bb[i]) c = int(cc[i]) digitSum = (a + b) % 10 trueSum = (a + b) + currentCarry nextCarry = trueSum // 10 correct = trueSum % 10 == c if nextCarry == 0 and correct: # we can glue # print(f"glueing, t: {t} -> {t + ncc}") t += ncc if digitSum == c and (a + b) <= 9 and not extraChance: # print(f"digit sum equal, t: {t} -> {t + 1}") t += 1 if currentCarry == 0: ncc += 1 # most important extraChance = False if correct: # print(f"music continues") x = 0 else: # print(f"music stops.") ncc = 0 if currentCarry == 1: # extra chance extraChance = True i += 1 currentCarry = 0 nextCarry = 0 # print(f"t: {t}") # print(f"currentCarry: {currentCarry}") # print(f"nextCarry: {nextCarry}") # print(f"ncc: {ncc}") # print(f"trueSum: {trueSum}") # print(f"digitSum: {digitSum}") # print() # print() i -= 1 print(t) |
English