构造(无验证).cpp

来自「八皇后问题全解 有回溯法(函数」· C++ 代码 · 共 56 行

CPP
56
字号
#include <iostream>
using namespace std;
void nqueen(int n)
{
    int k=n%6;
    if(k!=2 && k!=3) {
        int i;
        for(i=2;i<=n;i+=2)
            cout<<i<<" ";
        for(i=1;i<=n;i+=2)
            cout<<i<<" ";
        cout<<endl;
        return;
    }

    k=n/2;
    if(k%2==0) {
        int i;
        for(i=k;i<=n;i+=2)
            cout<<i<<" ";
        for(i=2;i<=k-2;i+=2)
            cout<<i<<" ";
        for(i=k+3;i<=n-1;i+=2)
            cout<<i<<" ";
        for(i=1;i<=k+1;i+=2)
            cout<<i<<" ";
        if(n%2==1)
            cout<<n;

    }
    else {
        int i;
        for(i=k;i<=n-1;i+=2) 
            cout<<i<<" ";
        for(i=1;i<=k-2;i+=2)
            cout<<i<<" ";
        for(i=k+3;i<=n;i+=2)
            cout<<i<<" ";
        for(i=2;i<=k+1;i+=2)
            cout<<i<<" ";
        if(n%2==1)
            cout<<n;
    }
    cout<<endl;
}
void main()
{
	int n;
	do
	{
	cout<<"请输入皇后的个数:"<<endl;
	cin>>n;
	nqueen(n);
	}while(n > 4);

}

⌨️ 快捷键说明

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