s1 = input() s2 = input() s3 = input() def brut(s1,s2,s3): n = len(s1) ile=0 for i in range(n): for j in range(i,n): if int(s1[i:j+1])+int(s2[i:j+1])==int(s3[i:j+1]): ile += 1 return ile def efi(s1,s2,s3): n = len(s1) zgodne = 0 prawie = 0 ile = 0 for i in range(n-1,-1,-1): a,b,c = int(s1[i]),int(s2[i]),int(s3[i]) if zgodne>0: if a+b==c: zgodne += 1 elif a+b==c+10: prawie = zgodne+1 zgodne = 0 else: zgodne = 0 elif prawie>0: if a+b==c: prawie = 0 zgodne = 1 elif a+b==c+10: prawie = 1 elif a+b+1==c: zgodne = prawie prawie = 0 elif a+b+1==c+10: prawie = prawie else: prawie = 0 else: if a+b==c: zgodne = 1 elif a+b==c+10: prawie = 1 ile += zgodne #print(a,b,c,zgodne,prawie) return ile print(efi(s1,s2,s3)) # print(brut(s1,s2,s3)) # from random import randint # for i in range(10): # n = 100 # s1 = ''.join(str(randint(0,9)) for _ in range(n)) # s2 = ''.join(str(randint(0,9)) for _ in range(n)) # s3 = ''.join(str(randint(0,9)) for _ in range(n)) # e = efi(s1,s2,s3) # b = brut(s1,s2,s3) # if e != b: # print(s1) # print(s2) # print(s3) # print(efi(s1,s2,s3),brut(s1,s2,s3))
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 | s1 = input() s2 = input() s3 = input() def brut(s1,s2,s3): n = len(s1) ile=0 for i in range(n): for j in range(i,n): if int(s1[i:j+1])+int(s2[i:j+1])==int(s3[i:j+1]): ile += 1 return ile def efi(s1,s2,s3): n = len(s1) zgodne = 0 prawie = 0 ile = 0 for i in range(n-1,-1,-1): a,b,c = int(s1[i]),int(s2[i]),int(s3[i]) if zgodne>0: if a+b==c: zgodne += 1 elif a+b==c+10: prawie = zgodne+1 zgodne = 0 else: zgodne = 0 elif prawie>0: if a+b==c: prawie = 0 zgodne = 1 elif a+b==c+10: prawie = 1 elif a+b+1==c: zgodne = prawie prawie = 0 elif a+b+1==c+10: prawie = prawie else: prawie = 0 else: if a+b==c: zgodne = 1 elif a+b==c+10: prawie = 1 ile += zgodne #print(a,b,c,zgodne,prawie) return ile print(efi(s1,s2,s3)) # print(brut(s1,s2,s3)) # from random import randint # for i in range(10): # n = 100 # s1 = ''.join(str(randint(0,9)) for _ in range(n)) # s2 = ''.join(str(randint(0,9)) for _ in range(n)) # s3 = ''.join(str(randint(0,9)) for _ in range(n)) # e = efi(s1,s2,s3) # b = brut(s1,s2,s3) # if e != b: # print(s1) # print(s2) # print(s3) # print(efi(s1,s2,s3),brut(s1,s2,s3)) |
English