2024年6月10日 星期一

迷宮另解

 d = [

[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],

[1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 1],

[1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1],

[1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1],

[1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1],

[1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 1],

[1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1],

[1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1],

[1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1],

[1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1],

[1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 1],

[1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1],

[1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1],

[1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1],

[1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1],

[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]

]


for k in range(2,30):

    for i in range(1,15):

        for j in range(1,10):

            if d[14][9]!=0:break

            if d[i][j]==k:

                if d[i+1][j]==0:d[i+1][j]=d[i][j]+1

                if d[i-1][j]==0:d[i-1][j]=d[i][j]+1

                if d[i][j+1]==0:d[i][j+1]=d[i][j]+1

                if d[i][j-1]==0:d[i][j-1]=d[i][j]+1


r = []

i,j=14,9

r.append([d[i][j],[i,j]])

while d[i][j]!=2:

    if d[i+1][j]==d[i][j]-1:

        i+=1

    elif d[i-1][j]==d[i][j]-1:

        i-=1

    elif d[i][j+1]==d[i][j]-1:

        j+=1

    elif d[i][j-1]==d[i][j]-1:

        j-=1

    r.append([d[i][j],[i,j]])    


for i in r:

    if i==r[-1]:

        print(i[1])

    else:

        print(i[1],end='->')

沒有留言:

張貼留言