Programación en lenguaje C para realizar todas las combinaciones de 15
#includelt;stdio.hgt;
#includelt;string.hgt;
#define MAX 11
bool usado[MAX ]={false};
int a[MAX];
int ok(int a[])
{
int i;
for(i=0; ilt; 9; i =3)
{
si(a[i] a[i 1] a [i 2]!=15) devuelve falso
}
for(i=0; ilt; 3; i )
{
if(a[i] a[i 3] a[i 6]!=15)return false
}
if(a[0] a[4] ] a[8]!=15)devuelve falso;
if(a[6] a[4] a[2]!=15)devuelve falso;
devuelve verdadero;
}
void DFS(int profundo)
{
int i;
if(profundo= =9)
{
if(ok(a))
{
puts("inicio");
for(i=0; ilt; 9; i =3)
{
printf("d d d\n", a[i], a[i 1 ], a[i 2]);
}
puts("fin");
}
retorno; p>
p>
}
for(i=1;ilt;10;i)
{
if(usado[i ])continuar;
usado[i]=true;
a[deep]=i
DFS(profundo 1); p> usado[i ]=false;
}
}
int main(void)
{
DFS(0 );
devuelve 0;
}