Saltos del caballo de ajedrez
Python
Publicado el 15 de Marzo del 2020 por Katas (150 códigos)
11.796 visualizaciones desde el 15 de Marzo del 2020
Un tablero de ajedrez es una grilla de 8 × 8 casillas. Cada celda puede ser representada mediante las coordenadas de su fila y su columna, numeradas desde 1 hasta 8.
El caballo es una pieza que se desplaza en forma de L. Su movimiento consiste en avanzar dos casillas en una dirección y luego una casilla en una dirección perpendicular a la primera.
Escriba un programa que reciba como entrada las coordenadas en que se encuentra un caballo, y entregue como salida todas las casillas hacia las cuales el caballo puede desplazarse.
Todas las coordenadas mostradas deben estar dentro del tablero.
Si la coordenada ingresada por el usuario es inválida, el programa debe indicarlo.
El caballo es una pieza que se desplaza en forma de L. Su movimiento consiste en avanzar dos casillas en una dirección y luego una casilla en una dirección perpendicular a la primera.
Escriba un programa que reciba como entrada las coordenadas en que se encuentra un caballo, y entregue como salida todas las casillas hacia las cuales el caballo puede desplazarse.
Todas las coordenadas mostradas deben estar dentro del tablero.
Si la coordenada ingresada por el usuario es inválida, el programa debe indicarlo.
1
2
3
4
saltoCaballo(2, 8) # [[1, 6], [3, 6], [4, 7]]
saltoCaballo(3, 4) # [[1, 3], [1, 5], [2, 2], [2, 6], [4, 2], [4, 6], [5, 3], [5, 5]]
saltoCaballo(1, 1) # [[2, 3], [3, 2]]
saltoCaballo(1, 9) # []
Comentarios sobre la versión: 1 (1)
Se dice que una matriz a de números enteros tiene un valle en la fila i y la columna j si elemento a[i][j] es menor que cualquiera de sus elementos adyacentes. Diseña y escribe una función que, dadas una matriz a de números enteros, una fila i y una columna j, decida si el elemento a[i][j] es o no un valle. Diseña y escribe una función que, dada una matriz a de números enteros, devuelva una lista con las posiciones (i,j) de los elementos valle de a.