nqueens.cpp

来自「n queens problem which can print the che」· C++ 代码 · 共 39 行

CPP
39
字号
#include<iostream.h>
#include<conio.h>
#include<math.h>
int n,x[10]={0};
int place(int k,int i);
int place(int k,int i)
{
	for(int j=1;j<k;j++)
	{
	 if(x[j]==i||(abs(x[j]-i)==abs(j-k)))
		return 0;
	}
	return 1;
}
void nqueens(int k,int n)
{
	 for(int i=1;i<=n;i++)
	 {
		if(place(k,i))
		{
			x[k]=i;
			if(k==n) return;
			else nqueens(k+1,n);
		}
	 }
}
void main()
{
	clrscr();
	cout<<"\nEnter the no of queens\n";
	cin>>n;
	nqueens(1,n);
	for(int k=1;k<=n;k++)
	{
	       if(x[k]!=0)
		cout<<"("<<k<<","<<x[k]<<")\n";
	}
	getch();
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?