Bueno, bueno, volviendo a que el problema se plantea para una niña de 9 añitos creo que la solución ha de ser algo más sencilla.
Para empezar a colocar los garbanzos de
aguml sobre la cuadrícula de 4x4 tacharía las diagonales (es obvio pero si tienes duda inténtalo) y así colocaría el primer garbanzo en (0,1). Ahora tacharía el resto de la fila y columna así como sus diagonales (en realidad una sola más) y quedaría algo como esto:
Como se ve ya solo queda un hueco en la segunda línea, coloco el segundo garbanzo y tacho el resto de su línea, columna y diagonal (uf que pesado estoy, en realidad se tacha una sola casilla) y ya nos queda:
¡Voilá¡, ya solo quedan dos casillas donde van los garbanzos tres y cuatro.
La otra solución se puede obtener de forma similar empezando con el (0,2) o, para nosotros que no para la niña. aplicando simetría respecto a la diagonal principal.
Y
aguml. entre tú, yo, en C con una cuadrícula tan pequeña pasaría de permutaciones y de todo el aparataje logístico del C++que nosotros no tenemos. Casi me quedaría con esto:
Código C++:
Ver original#include<stdio.h>
int main() {
int i, j, a[4][4]={0};
for (i=0; i<4; i++)
for (j=0; j<4; j++){
if (i==j ||(i+j==3)){
a[i][j]=1 ;
continue;
}
if (a[i][j]==0){
a[j][i]=1;
printf ("(%2d , %2d) ---- (%2d , %2d)\n",i
,j
,j
, i
); break ;
}
}
return 0 ;
}
Código C++:
Ver original( 0 , 1) ---- ( 1 , 0)
( 1 , 3) ---- ( 3 , 1)
( 2 , 0) ---- ( 0 , 2)
( 3 , 2) ---- ( 2 , 3)
Process returned
0 (0x0) execution
time : 0.006 s
Press any key to continue.
Después de más de un año sin tocar un teclado estoy algo oxidado pero creo que salvo pifia mayúscula valga y os guste lo que propongo