1.Mógłby ktoś poprawić program Problem konika szachowego aby wyszukiwał tylko jedno rozwiązanie a nie wszystkie możliwości?
#include<stdio.h>
int szachownica[12][12];
int xk,yk,nr,rozwiazanie;
void przygotuj_pola()
{
int i,j;
for (i=0;i<12;i++)
for (j=0;j<12;j++)
szachownica[i][j]=1;
for (i=2;i<10;i++)
for (j=2;j<10;j++)
szachownica[i][j]=0;
}
int umiesc_konika(int x,int y,int numer)
{
int i,j,k,ch;
if (szachownica[x][y]==0)
{
szachownica[x][y]=numer;
if (numer==64)
{
printf("Rozwiazanie: %d\n",rozwiazanie);
rozwiazanie++;
for (i=2;i<10;i++)
{
for (j=2;j<10;j++)
{
printf("%3d ",szachownica[j][i]);
}
printf("\n");
}
}
umiesc_konika(x+1,y-2,numer+1);
umiesc_konika(x+2,y-1,numer+1);
umiesc_konika(x+2,y+1,numer+1);
umiesc_konika(x+1,y+2,numer+1);
umiesc_konika(x-1,y+2,numer+1);
umiesc_konika(x-2,y+1,numer+1);
umiesc_konika(x-2,y-1,numer+1);
umiesc_konika(x-1,y-2,numer+1);
szachownica[x][y]=0;
}
}
int main()
{
przygotuj_pola();
xk=2;yk=2;nr=1;rozwiazanie=1;
umiesc_konika(xk,yk,nr);
}