#include
<stdio.h>
#include<conio.h>
int
row[8],s=0;
int
safe(int,int);
void
putboard();
void
queen(int);
int
safe(int x, int y)
{
int i;
for(i=1;i<=y;i++)
if(
row[y-i]==x || row[y-i]==x-i || row[y-i]==x+i)
return 0;
return 1;
}
void
putboard()
{
int x,y;
printf("\nSolution
# %d",++s);
printf(":\n---------------------------------\n");
for(y=0;y<8;
y++)
{
for
(x=0;x<8;x++)
if(x==row[y])
printf("|
Q ");
else
printf("|
");
printf("|\n---------------------------------\n");
}
getch();
}
void
queen(int y)
{
int x;
for(x=0;x<8;x++)
{
row[y-1]=x;
if(
safe(x,y-1) )
if (y<8)
queen(y+1);
else
putboard();
}
}
void main()
{
clrscr();
queen(1);
getch();
}
OUTPUT
Download as Word File
Download as TEXT File
Download as PDF
No comments:
Post a Comment