#include %26lt;stdio.h%26gt;
int dong[8], cot[8], cheoxuoi[15], cheonguoc[15];
void print ()
{
int i;
printf("\n");
for (i=0; i%26lt;8; i++)
printf("%3d", dong);
}
void thu(int i)
{
int j;
for (j=0; j%26lt;8; j++)
{
if (cot[j] == 1 %26amp;%26amp; cheoxuoi[i+j] ==1 %26amp;%26amp; cheonguoc[i-j+7] == 1)
{
dong =j;
cot[j] = 0;
cheoxuoi[i+j] =0;
cheonguoc[i-j+7] =0;
if (i%26lt;7)
thu(i+1);
else
print();
cot[j] = 1;
cheoxuoi[i+j] = 1;
cheonguoc[i-j+7] = 1;
}
}
}
void tim()
{
int i, q;
for (i=0; i%26lt;8; i++)
{
cot =1;
dong =1;
}
for (i=0; i%26lt;15; i++)
{
cheoxuoi =1;
cheonguoc =1;
}
thu(0);
}
Who can teach C++ ?
/* Bai toan tam hoang hau */
#include %26lt;stdio.h%26gt;
#include%26lt;conio.h%26gt;
int dong[8], cot[8], cheoxuoi[15], cheonguoc[15];
void print ()
{
int i;
printf("\n");
for (i=0; i%26lt;8; i++)
printf("%3d", dong[i]);
}
void thu(int i)
{
int j;
for (j=0; j%26lt;8; j++)
/*Voi 1 dong i cho truoc ta cho cac cot chay*/
{
if (cot[j] == 1 %26amp;%26amp; cheoxuoi[i+j] ==1 %26amp;%26amp; cheonguoc[i-j+7] == 1)
/*kiem tra DK xem o co trong ko, neu con trong thi tien hanh dat thu*/
{
dong[i] = j;
cot[j] = 0;
cheoxuoi[i+j] = 0;
cheonguoc[i-j+7] = 0;
if (i%26lt;7)
/*thu sang hang dong theo*/
thu(i+1);
/*goi de qui de tang dong*/
else
/*neu ko con dat duoc thi danh dau*/
print();
cot[j] = 1;
cheoxuoi[i+j] = 1;
cheonguoc[i-j+7] = 1;
}
}
}
void tim()
{
int i, q;
for (i=0; i%26lt;8; i++) /*cho so cot chay*/
{
cot[i] = 1;
dong[i] = -1;
}
for (i=0; i%26lt;15; i++)
{
cheoxuoi[i] = 1;
cheonguoc[i] = 1;
}
thu(0);
}
int main()
{
tim();
getch();
}
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment