♜ ¿Cuántas formas hay de colocar 8 torres en un tablero de ajedrez?
Fecha de publicación: 2025-05-26
Este es un clásico problema de combinatoria: ¿De cuántas maneras distintas se pueden colocar 8 torres en un tablero de ajedrez 8×8 sin que se amenacen entre sí?
La condición clave es que no haya dos torres en la misma fila ni en la misma columna. Así, el problema se reduce a encontrar todas las permutaciones posibles de 8 elementos.
📐 Solución matemática
Como hay 8 filas y 8 columnas, y cada torre debe ocupar una fila y una columna distinta:
El número de formas distintas es simplemente:
const totalWays = factorial(8); // 8! = 40320
Aquí te muestro un pequeño código de React que genera y muestra una de estas 40,320 configuraciones de manera aleatoria.
import React, { useState } from 'react';
const generateRandomPermutation = (): number[] => {
const columns = [0,1,2,3,4,5,6,7];
for (let i = columns.length - 1; i > 0; i--) {
const j = Math.floor(Math.random() * (i + 1));
[columns[i], columns[j]] = [columns[j], columns[i]];
}
return columns;
};
const Chessboard: React.FC = () => {
const [positions, setPositions] = useState(generateRandomPermutation());
return (
<div>
<button onClick={() => setPositions(generateRandomPermutation())} className="mb-4 bg-black text-white p-2 rounded">
Generar nueva posición
</button>
<div className="grid grid-cols-8 gap-1 w-64 h-64">
{Array.from({ length: 8 }).map((_, row) => (
Array.from({ length: 8 }).map((_, col) => (
<div
key={`${row}-${col}`}
className={`w-8 h-8 flex items-center justify-center ${(row + col) % 2 === 0 ? 'bg-white' : 'bg-gray-800'}`}
>
{positions[row] === col ? '♜' : ''}
</div>
))
))}
</div>
</div>
);
};
export default Chessboard;
Este componente muestra un tablero de ajedrez con una torre en cada fila y una columna distinta. Cada vez que presionas el botón, se genera una nueva permutación aleatoria.
🔁 ¿Por qué 8!?
Es como asignar una torre a cada fila, eligiendo en qué columna ponerla. Tienes 8 opciones para la primera torre, 7 para la siguiente... y así hasta que no queden columnas libres.
Este tipo de razonamiento aparece mucho en problemas de ajedrez, como también en el más famoso problema de las 8 reinas. ¡Pero eso te lo dejo para otro post!
Cargando tablero...