def find(n, A): value = [110]*(n-1) dis = [110]*(n-1) result = [] for i in range(1,n): for j in range(i): if abs(A[i]-A[j])<=value[i-1]: value[i-1]=abs(A[i]-A[j]) dis[i-1]=i-j result.append([value[i-1],dis[i-1]]) return result
def week(A): last = -1 cs = 0 lastcs = 0 for i in range(7): dis=find(len(A[i])-1,A[i])[cs][1] while cs<8 and last==dis: cs+=1 dis=find(len(A[i])-1,A[i])[cs][1] if cs<9: last=dis lastcs=cs A[i][10][1]=dis A[i-1][10][0]=cs+1 cs=(cs+1)%9 else: cs=_____①_____ print(A) for i in range(7): if A[i][A[i-1][10][0]]!=-1: print(_________②_________) else: print(0)
A=[] for i in range(7): B=[] while len(B)<10: a=random.randint(1,100) _____③____: B.append(a) B.append([-1,-1]) A.append(B) week(A)
题解:
① (lastcs+2)%9
② A[i][A[i-1][10][0]-A[i][10][1]]+A[i][A[i-1][10][0]]