|
| 8 queens problem by Rimi | #include<stdio.h>
#include<conio.h>
int place(int,int);
void display(int);
void nqueen(int,int);
int x[10];
void main()
{
clrscr();
printf("\n\n\t program for 8 queen problem");
nqueen(1,8);
getch();
}
void nqueen(int k,int n)
{
int i;
for(i=1;i<=n;i++)
{
if(place(k,i))
{
x[k]=i;
if(k==n)
{
getch();
display(n);
return;
}
else
nqueen(k+1,n);
}
}
}
int place(int k,int i)
{
int j;
for(j=1;j<=k-1;j++)
{
if((x[j]==i) || (abs(x[j]-i)==(abs(j-k))))
return 0;
}
return 1;
}
void display(int n)
{
int i,j;
printf("\n\n\t problem solved\n");
for(i=1;i<=n;i++)
{
for(j=1;j<=n;j++)
{
if(j==x[i])
printf("*");
else
printf("0");
}
printf("\n\n");
}
} | Views 10
Rating 0
Language C
Category Basics
Compiler Turbo C/C++
OS Windows
Last Modified 24th Apr 10 05:58:39 AM
|
|
|
|
|
|