- 20/5/05
- 257
- 93
Mọi người xem giúp mình vì sao đến nước đi thứ 32 , sang nước đi thứ 33 thì nó bị lỗi vậy 
Giúp mình với, mình xin cảm ơn nhiều :)

Mã:
#include <stdio.h>
#include <stdlib.h>
void Create(int BanCo[12][12])
{
for(int i=0;i<12;i++)
for(int j=0;j<12;j++)
if(i>=2 && i<=9 && j>=2 && j<=9)
BanCo[i][j]=0; // Khoi tao ban co
else
BanCo[i][j]=-1;// Cac duong vien ben ngoai
}
void Print(int BanCo[12][12])
{
for(int i=0;i<12;i++)
{
for(int j=0;j<12;j++)
printf("%4d",BanCo[i][j]);
printf("\n\n");
}
}
void Try(int buoc_di,int i,int j,int BanCo[12][12],int *I,int *J)
{
for(int l=0;l<7;l++)
{
if(BanCo[i+I[l]][j+J[l]]==0)
//o chua qua , dat duoc
{
if(buoc_di+1 == 63)//hoan tat
{
for(i=2;i<10;i++)
for(j=2;j<10;j++)
if(BanCo[i][j]==0)
BanCo[i][j]=63;
Xuat(BanCo);
exit(0);
}
else
{
i=i+I[l];
j=j+J[l];
BanCo[i][j]=buoc_di+1;
Try(buoc_di+1,i,j,BanCo,I,J);
BanCo[i][j]=0;
}
}
}
}
void main()
{
int BanCo[12][12];
int I[8]={-2,-1,1,2,2,1,-1,-2};
int J[8]={1,2,2,1,-1,-2,-2,-1};
Create(BanCo);
BanCo[2][2]=1;
Print(BanCo);
Try(1,2,2,BanCo,I,J);
}
, cám ơn bạn nhé