t = int(input())
def cut(a1x):
lis = []
for i in range(len(a1x)):
a = ''
if i + 3 <= len(a1x) - 1:#尽可能的切出字符串alx中连续4位
a = a + a1x[i] + a1x[i + 1] + a1x[i + 2] + a1x[i + 3]
if a != '':
lis.append(a)
return lis
for i in range(t):
a, b = input().split(',')
li = cut(a) #得到 a的每4位组成的的列表
if li!=[]:
m =abs( int(li[0])-int(b))
r=0
for i in li:
if abs(int(b) - int(i)) < m: #在列表中得到最小的差 m
m = abs(int(b) - int(i))
for i in li:
if abs(int(b) - int(i)) == m:
r = li.index(i) # r在列表中对应的序号 而且能保证是列表当中第一个出现的
break
if len(a) >= 3:#a只有三位时,在前三位中选出差距最小的,并记 de表示以后要扔前几个数
one = abs(int(a[0]) - int(b))
two = abs(int(a[0] + a[1]) - int(b))
three = abs(int(a[0] + a[1] + a[2]) - int(b))
wa = [int(b), one, two, three]
mi = min(wa)
if int(b) == mi:
de = 0
elif one == mi:
de = 1
elif two == mi:
de = 2
elif three == mi:
de = 3
elif len(a) == 2:#a只有二位时
one = abs(int(a[0]) - int(b))
two = abs(int(a[0] + a[1]) - int(b))
wa = [int(b), one, two]
mi = min(wa)
if int(b) == mi:
de = 0
elif one == mi:
de = 1
elif two == mi:
de = 2
elif len(a) == 1:#a只有一位时
one = abs(int(a[0]) - int(b))
wa = [int(b), one]
mi = min(wa)
if int(b) == mi:
de = 0
elif one == mi:
de = 1
elif len(a) == 0:#a不存在时
wa = [int(b)]
mi = min(wa)
de = 0
if li != []:
if m >= mi:
k = len(a) - de
else:
k = len(a) - (r + 4)
else: #a都没有四位
k = len(a) - de
print(k)
错了的地方在m的起始值赋为了int(a)
若1000,9568
比它小
后续无法更新 r