Matriz espiral (pitón)

En primer lugar, no creo que pueda pensar en cómo implementar esta matriz en el código. Solo necesitamos usar algunas leyes y álgebra para implementar el número en cada posición.

n,m=(int(i) for i in input().split(' '))
r,c=(int(i) for i in input().split(' '))
def abc(n,m,i,j):
    if i==1:
        return j
    if j==m:
        return (i+j-1)
    if i==n:
        return ((m+i)+(m-j-1))
    if j==1:
        return (2*m+2*n-i-2)
    return(abc(n-2,m-2,i-1,j-1)+(2*(m-1+n-1)))
print(abc(n,m,r,c))

Usted mismo puede comparar la explicación detallada con la matriz, y generalmente se usa la idea de recursividad.

Supongo que te gusta

Origin blog.csdn.net/jiahuiandxuehui/article/details/114776684
Recomendado
Clasificación