Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/python
- # -*- coding: utf8 -*-
- def camino_corto(f1,c1,f2,c2,lista): #Esta funcion generará el camino más corto, pero para ello pide las cordenadas del punto inicial, el punto final y la matriz donde de hará.
- if (f1==f2):
- if (c1<c2):
- lista[f1][c1]="+"
- camino_corto(f1,c1+1,f2,c2,lista)
- else :
- lista[f1][c1]="+"
- print "Ruta encontrada"
- elif (f1<f2):
- lista[f1][c1]="+"
- camino_corto(f1+1,c1,f2,c2,lista)
- else:
- print "ERROR"
- return lista
- def matriz(M,N): #Aquí creamos la matriz de un tamaño MxN designado por el usuario
- lista=[]
- for x in range(M):
- columnas=[]
- for y in range(N):
- columnas.append("x")
- lista.append(columnas)
- return lista
- filas,columnas=input("Ingrese el tamaño de la matriz (filas,columnas), separando por con una coma (,) los valores: ") #pedimos el tamaño de la matriz
- generando_m=matriz(filas,columnas) #Generamos la matriz
- print "Generando una matriz de {0}x{1} ...".format(filas,columnas)
- for x in range(filas): #Por estetica, imprimimos las matrices por filas.
- print generando_m[x]
- print ""
- f_final,c_final=input("Ingrese las coordenadas del punto final P, separando por una coma (,), los valores: ") #Pedimos las coordenadas del punto final
- solucion=camino_corto(0,0,f_final-1,c_final-1,generando_m) #Una vez obtenidas las coordenadas y generada la matriz, le pasamos los datos a nuestra función que nos dará la ruta más corta
- print ""
- print "Generando una Ruta desde el punto O(0,0) hasta el punto P({0},{1})".format(f_final,c_final)
- for x in range(filas): #Por estetica imprimimos el resultado de la ruta, por filas.
- print solucion[x]
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement