Ver Mensaje Individual
  #12 (permalink)  
Antiguo 12/05/2016, 10:32
Avatar de leosansan
leosansan
 
Fecha de Ingreso: mayo-2012
Ubicación: GRAN CANARIA
Mensajes: 194
Antigüedad: 12 años
Puntos: 49
Respuesta: Saber todas las combinaciones posibles de un tablero

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
  1. #include<stdio.h>
  2.  
  3. int main()  {
  4.     int i, j, a[4][4]={0};
  5.   for (i=0; i<4; i++)
  6.     for (j=0; j<4; j++){
  7.       if (i==j ||(i+j==3)){
  8.           a[i][j]=1 ;
  9.           continue;
  10.       }
  11.       if (a[i][j]==0){
  12.         a[j][i]=1;
  13.         printf ("(%2d , %2d) ---- (%2d , %2d)\n",i ,j ,j, i);
  14.         break ;
  15.       }
  16.     }
  17.   return 0 ;
  18. }

Código C++:
Ver original
  1. ( 0 ,  1) ---- ( 1 ,  0)
  2. ( 1 ,  3) ---- ( 3 ,  1)
  3. ( 2 ,  0) ---- ( 0 ,  2)
  4. ( 3 ,  2) ---- ( 2 ,  3)
  5.  
  6. Process returned 0 (0x0)   execution time : 0.006 s
  7. 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

Última edición por leosansan; 12/05/2016 a las 10:40