Eight Queen Problem-浅究八皇后问题

Eight Queen Problem-浅究八皇后问题

//Get The Guidance By Mr ZhangHong
#include <iostream>
#include <cstdlib>
#include <cmath>
using namespace std;
#define  QUEENNUM  8


int  check(int i,int j,int a[])
{   
    int k;
    if (i==1) 
        return 1;
    for(k=1;k<=i-1;k++)
     {
        if(a[k]==j||abs(j-a[k])==abs(i-k))
            return 0;
    }
            return 1;
}

void printqueen(int a[])
{  
    int i;
    for(i=1;i<=QUEENNUM;i++)
    cout<<a[i]<<' ';
    cout<<endl;
}

void  queen(int i,int a[])

    int j;
    for(j=1;j<=QUEENNUM;j++)
     {
        if(check(i,j,a))
         {
            a[i]=j;
            if(i==QUEENNUM) 
             {
                printqueen(a);
                exit(0);
            }
            queen(i+1,a);
        }
    }
}

int  main()

    int arr[QUEENNUM+1];
    queen(1,arr);
    system("pause");
    return 0;
}


此程序的结构显示这八个点的坐标为:
(1,1)
(2,5)
(3,8)
(4,6)
(5,3)
(6,7)
(7,2)
(8,4)
由图中黑色墨迹不难看出 以上结果是正确的。
Eight Queen Problem-浅究八皇后问题_第1张图片 



八皇后问题的92个解为:
第1个解:
●□□□□□□□
□□□□●□□□
□□□□□□□●
□□□□□●□□
□□●□□□□□
□□□□□□●□
□●□□□□□□
□□□●□□□□


第2个解:
●□□□□□□□
□□□□□●□□
□□□□□□□●
□□●□□□□□
□□□□□□●□
□□□●□□□□
□●□□□□□□
□□□□●□□□


第3个解:
●□□□□□□□
□□□□□□●□
□□□●□□□□
□□□□□●□□
□□□□□□□●
□●□□□□□□
□□□□●□□□
□□●□□□□□


第4个解:
●□□□□□□□
□□□□□□●□
□□□□●□□□
□□□□□□□●
□●□□□□□□
□□□●□□□□
□□□□□●□□
□□●□□□□□


第5个解:
□●□□□□□□
□□□●□□□□
□□□□□●□□
□□□□□□□●
□□●□□□□□
●□□□□□□□
□□□□□□●□
□□□□●□□□


第6个解:
□●□□□□□□
□□□□●□□□
□□□□□□●□
●□□□□□□□
□□●□□□□□
□□□□□□□●
□□□□□●□□
□□□●□□□□


第7个解:
□●□□□□□□
□□□□●□□□
□□□□□□●□
□□□●□□□□
●□□□□□□□
□□□□□□□●
□□□□□●□□
□□●□□□□□


第8个解:
□●□□□□□□
□□□□□●□□
●□□□□□□□
□□□□□□●□
□□□●□□□□
□□□□□□□●
□□●□□□□□
□□□□●□□□


第9个解:
□●□□□□□□
□□□□□●□□
□□□□□□□●
□□●□□□□□
●□□□□□□□
□□□●□□□□
□□□□□□●□
□□□□●□□□


第10个解:
□●□□□□□□
□□□□□□●□
□□●□□□□□
□□□□□●□□
□□□□□□□●
□□□□●□□□
●□□□□□□□
□□□●□□□□


第11个解:
□●□□□□□□
□□□□□□●□
□□□□●□□□
□□□□□□□●
●□□□□□□□
□□□●□□□□
□□□□□●□□
□□●□□□□□


第12个解:
□●□□□□□□
□□□□□□□●
□□□□□●□□
●□□□□□□□
□□●□□□□□
□□□□●□□□
□□□□□□●□
□□□●□□□□


第13个解:
□□●□□□□□
●□□□□□□□
□□□□□□●□
□□□□●□□□
□□□□□□□●
□●□□□□□□
□□□●□□□□
□□□□□●□□


第14个解:
□□●□□□□□
□□□□●□□□
□●□□□□□□
□□□□□□□●
●□□□□□□□
□□□□□□●□
□□□●□□□□
□□□□□●□□


第15个解:
□□●□□□□□
□□□□●□□□
□●□□□□□□
□□□□□□□●
□□□□□●□□
□□□●□□□□
□□□□□□●□
●□□□□□□□


第16个解:
□□●□□□□□
□□□□●□□□
□□□□□□●□
●□□□□□□□
□□□●□□□□
□●□□□□□□
□□□□□□□●
□□□□□●□□


第17个解:
□□●□□□□□
□□□□●□□□
□□□□□□□●
□□□●□□□□
●□□□□□□□
□□□□□□●□
□●□□□□□□
□□□□□●□□


第18个解:
□□●□□□□□
□□□□□●□□
□●□□□□□□
□□□□●□□□
□□□□□□□●
●□□□□□□□
□□□□□□●□
□□□●□□□□


第19个解:
□□●□□□□□
□□□□□●□□
□●□□□□□□
□□□□□□●□
●□□□□□□□
□□□●□□□□
□□□□□□□●
□□□□●□□□


第20个解:
□□●□□□□□
□□□□□●□□
□●□□□□□□
□□□□□□●□
□□□□●□□□
●□□□□□□□
□□□□□□□●
□□□●□□□□


第21个解:
□□●□□□□□
□□□□□●□□
□□□●□□□□
●□□□□□□□
□□□□□□□●
□□□□●□□□
□□□□□□●□
□●□□□□□□


第22个解:
□□●□□□□□
□□□□□●□□
□□□●□□□□
□●□□□□□□
□□□□□□□●
□□□□●□□□
□□□□□□●□
●□□□□□□□


第23个解:
□□●□□□□□
□□□□□●□□
□□□□□□□●
●□□□□□□□
□□□●□□□□
□□□□□□●□
□□□□●□□□
□●□□□□□□


第24个解:
□□●□□□□□
□□□□□●□□
□□□□□□□●
●□□□□□□□
□□□□●□□□
□□□□□□●□
□●□□□□□□
□□□●□□□□


第25个解:
□□●□□□□□
□□□□□●□□
□□□□□□□●
□●□□□□□□
□□□●□□□□
●□□□□□□□
□□□□□□●□
□□□□●□□□


第26个解:
□□●□□□□□
□□□□□□●□
□●□□□□□□
□□□□□□□●
□□□□●□□□
●□□□□□□□
□□□●□□□□
□□□□□●□□


第27个解:
□□●□□□□□
□□□□□□●□
□●□□□□□□
□□□□□□□●
□□□□□●□□
□□□●□□□□
●□□□□□□□
□□□□●□□□


第28个解:
□□●□□□□□
□□□□□□□●
□□□●□□□□
□□□□□□●□
●□□□□□□□
□□□□□●□□
□●□□□□□□
□□□□●□□□


第29个解:
□□□●□□□□
●□□□□□□□
□□□□●□□□
□□□□□□□●
□●□□□□□□
□□□□□□●□
□□●□□□□□
□□□□□●□□


第30个解:
□□□●□□□□
●□□□□□□□
□□□□●□□□
□□□□□□□●
□□□□□●□□
□□●□□□□□
□□□□□□●□
□●□□□□□□


第31个解:
□□□●□□□□
□●□□□□□□
□□□□●□□□
□□□□□□□●
□□□□□●□□
●□□□□□□□
□□●□□□□□
□□□□□□●□


第32个解:
□□□●□□□□
□●□□□□□□
□□□□□□●□
□□●□□□□□
□□□□□●□□
□□□□□□□●
●□□□□□□□
□□□□●□□□


第33个解:
□□□●□□□□
□●□□□□□□
□□□□□□●□
□□●□□□□□
□□□□□●□□
□□□□□□□●
□□□□●□□□
●□□□□□□□


第34个解:
□□□●□□□□
□●□□□□□□
□□□□□□●□
□□□□●□□□
●□□□□□□□
□□□□□□□●
□□□□□●□□
□□●□□□□□


第35个解:
□□□●□□□□
□●□□□□□□
□□□□□□□●
□□□□●□□□
□□□□□□●□
●□□□□□□□
□□●□□□□□
□□□□□●□□


第36个解:
□□□●□□□□
□●□□□□□□
□□□□□□□●
□□□□□●□□
●□□□□□□□
□□●□□□□□
□□□□●□□□
□□□□□□●□


第37个解:
□□□●□□□□
□□□□□●□□
●□□□□□□□
□□□□●□□□
□●□□□□□□
□□□□□□□●
□□●□□□□□
□□□□□□●□


第38个解:
□□□●□□□□
□□□□□●□□
□□□□□□□●
□●□□□□□□
□□□□□□●□
●□□□□□□□
□□●□□□□□
□□□□●□□□


第39个解:
□□□●□□□□
□□□□□●□□
□□□□□□□●
□□●□□□□□
●□□□□□□□
□□□□□□●□
□□□□●□□□
□●□□□□□□


第40个解:
□□□●□□□□
□□□□□□●□
●□□□□□□□
□□□□□□□●
□□□□●□□□
□●□□□□□□
□□□□□●□□
□□●□□□□□


第41个解:
□□□●□□□□
□□□□□□●□
□□●□□□□□
□□□□□□□●
□●□□□□□□
□□□□●□□□
●□□□□□□□
□□□□□●□□


第42个解:
□□□●□□□□
□□□□□□●□
□□□□●□□□
□●□□□□□□
□□□□□●□□
●□□□□□□□
□□●□□□□□
□□□□□□□●


第43个解:
□□□●□□□□
□□□□□□●□
□□□□●□□□
□□●□□□□□
●□□□□□□□
□□□□□●□□
□□□□□□□●
□●□□□□□□


第44个解:
□□□●□□□□
□□□□□□□●
●□□□□□□□
□□●□□□□□
□□□□□●□□
□●□□□□□□
□□□□□□●□
□□□□●□□□


第45个解:
□□□●□□□□
□□□□□□□●
●□□□□□□□
□□□□●□□□
□□□□□□●□
□●□□□□□□
□□□□□●□□
□□●□□□□□


第46个解:
□□□●□□□□
□□□□□□□●
□□□□●□□□
□□●□□□□□
●□□□□□□□
□□□□□□●□
□●□□□□□□
□□□□□●□□


第47个解:
□□□□●□□□
●□□□□□□□
□□□●□□□□
□□□□□●□□
□□□□□□□●
□●□□□□□□
□□□□□□●□
□□●□□□□□


第48个解:
□□□□●□□□
●□□□□□□□
□□□□□□□●
□□□●□□□□
□●□□□□□□
□□□□□□●□
□□●□□□□□
□□□□□●□□


第49个解:
□□□□●□□□
●□□□□□□□
□□□□□□□●
□□□□□●□□
□□●□□□□□
□□□□□□●□
□●□□□□□□
□□□●□□□□


第50个解:
□□□□●□□□
□●□□□□□□
□□□●□□□□
□□□□□●□□
□□□□□□□●
□□●□□□□□
●□□□□□□□
□□□□□□●□


第51个解:
□□□□●□□□
□●□□□□□□
□□□●□□□□
□□□□□□●□
□□●□□□□□
□□□□□□□●
□□□□□●□□
●□□□□□□□


第52个解:
□□□□●□□□
□●□□□□□□
□□□□□●□□
●□□□□□□□
□□□□□□●□
□□□●□□□□
□□□□□□□●
□□●□□□□□


第53个解:
□□□□●□□□
□●□□□□□□
□□□□□□□●
●□□□□□□□
□□□●□□□□
□□□□□□●□
□□●□□□□□
□□□□□●□□


第54个解:
□□□□●□□□
□□●□□□□□
●□□□□□□□
□□□□□●□□
□□□□□□□●
□●□□□□□□
□□□●□□□□
□□□□□□●□


第55个解:
□□□□●□□□
□□●□□□□□
●□□□□□□□
□□□□□□●□
□●□□□□□□
□□□□□□□●
□□□□□●□□
□□□●□□□□


第56个解:
□□□□●□□□
□□●□□□□□
□□□□□□□●
□□□●□□□□
□□□□□□●□
●□□□□□□□
□□□□□●□□
□●□□□□□□


第57个解:
□□□□●□□□
□□□□□□●□
●□□□□□□□
□□●□□□□□
□□□□□□□●
□□□□□●□□
□□□●□□□□
□●□□□□□□


第58个解:
□□□□●□□□
□□□□□□●□
●□□□□□□□
□□□●□□□□
□●□□□□□□
□□□□□□□●
□□□□□●□□
□□●□□□□□


第59个解:
□□□□●□□□
□□□□□□●□
□●□□□□□□
□□□●□□□□
□□□□□□□●
●□□□□□□□
□□●□□□□□
□□□□□●□□


第60个解:
□□□□●□□□
□□□□□□●□
□●□□□□□□
□□□□□●□□
□□●□□□□□
●□□□□□□□
□□□●□□□□
□□□□□□□●


第61个解:
□□□□●□□□
□□□□□□●□
□●□□□□□□
□□□□□●□□
□□●□□□□□
●□□□□□□□
□□□□□□□●
□□□●□□□□


第62个解:
□□□□●□□□
□□□□□□●□
□□□●□□□□
●□□□□□□□
□□●□□□□□
□□□□□□□●
□□□□□●□□
□●□□□□□□


第63个解:
□□□□●□□□
□□□□□□□●
□□□●□□□□
●□□□□□□□
□□●□□□□□
□□□□□●□□
□●□□□□□□
□□□□□□●□


第64个解:
□□□□●□□□
□□□□□□□●
□□□●□□□□
●□□□□□□□
□□□□□□●□
□●□□□□□□
□□□□□●□□
□□●□□□□□


第65个解:
□□□□□●□□
●□□□□□□□
□□□□●□□□
□●□□□□□□
□□□□□□□●
□□●□□□□□
□□□□□□●□
□□□●□□□□


第66个解:
□□□□□●□□
□●□□□□□□
□□□□□□●□
●□□□□□□□
□□●□□□□□
□□□□●□□□
□□□□□□□●
□□□●□□□□


第67个解:
□□□□□●□□
□●□□□□□□
□□□□□□●□
●□□□□□□□
□□□●□□□□
□□□□□□□●
□□□□●□□□
□□●□□□□□


第68个解:
□□□□□●□□
□□●□□□□□
●□□□□□□□
□□□□□□●□
□□□□●□□□
□□□□□□□●
□●□□□□□□
□□□●□□□□


第69个解:
□□□□□●□□
□□●□□□□□
●□□□□□□□
□□□□□□□●
□□□●□□□□
□●□□□□□□
□□□□□□●□
□□□□●□□□


第70个解:
□□□□□●□□
□□●□□□□□
●□□□□□□□
□□□□□□□●
□□□□●□□□
□●□□□□□□
□□□●□□□□
□□□□□□●□


第71个解:
□□□□□●□□
□□●□□□□□
□□□□●□□□
□□□□□□●□
●□□□□□□□
□□□●□□□□
□●□□□□□□
□□□□□□□●


第72个解:
□□□□□●□□
□□●□□□□□
□□□□●□□□
□□□□□□□●
●□□□□□□□
□□□●□□□□
□●□□□□□□
□□□□□□●□


第73个解:
□□□□□●□□
□□●□□□□□
□□□□□□●□
□●□□□□□□
□□□●□□□□
□□□□□□□●
●□□□□□□□
□□□□●□□□


第74个解:
□□□□□●□□
□□●□□□□□
□□□□□□●□
□●□□□□□□
□□□□□□□●
□□□□●□□□
●□□□□□□□
□□□●□□□□


第75个解:
□□□□□●□□
□□●□□□□□
□□□□□□●□
□□□●□□□□
●□□□□□□□
□□□□□□□●
□●□□□□□□
□□□□●□□□


第76个解:
□□□□□●□□
□□□●□□□□
●□□□□□□□
□□□□●□□□
□□□□□□□●
□●□□□□□□
□□□□□□●□
□□●□□□□□


第77个解:
□□□□□●□□
□□□●□□□□
□●□□□□□□
□□□□□□□●
□□□□●□□□
□□□□□□●□
●□□□□□□□
□□●□□□□□


第78个解:
□□□□□●□□
□□□●□□□□
□□□□□□●□
●□□□□□□□
□□●□□□□□
□□□□●□□□
□●□□□□□□
□□□□□□□●


第79个解:
□□□□□●□□
□□□●□□□□
□□□□□□●□
●□□□□□□□
□□□□□□□●
□●□□□□□□
□□□□●□□□
□□●□□□□□


第80个解:
□□□□□●□□
□□□□□□□●
□●□□□□□□
□□□●□□□□
●□□□□□□□
□□□□□□●□
□□□□●□□□
□□●□□□□□


第81个解:
□□□□□□●□
●□□□□□□□
□□●□□□□□
□□□□□□□●
□□□□□●□□
□□□●□□□□
□●□□□□□□
□□□□●□□□


第82个解:
□□□□□□●□
□●□□□□□□
□□□●□□□□
●□□□□□□□
□□□□□□□●
□□□□●□□□
□□●□□□□□
□□□□□●□□


第83个解:
□□□□□□●□
□●□□□□□□
□□□□□●□□
□□●□□□□□
●□□□□□□□
□□□●□□□□
□□□□□□□●
□□□□●□□□


第84个解:
□□□□□□●□
□□●□□□□□
●□□□□□□□
□□□□□●□□
□□□□□□□●
□□□□●□□□
□●□□□□□□
□□□●□□□□


第85个解:
□□□□□□●□
□□●□□□□□
□□□□□□□●
□●□□□□□□
□□□□●□□□
●□□□□□□□
□□□□□●□□
□□□●□□□□


第86个解:
□□□□□□●□
□□□●□□□□
□●□□□□□□
□□□□●□□□
□□□□□□□●
●□□□□□□□
□□●□□□□□
□□□□□●□□


第87个解:
□□□□□□●□
□□□●□□□□
□●□□□□□□
□□□□□□□●
□□□□□●□□
●□□□□□□□
□□●□□□□□
□□□□●□□□


第88个解:
□□□□□□●□
□□□□●□□□
□□●□□□□□
●□□□□□□□
□□□□□●□□
□□□□□□□●
□●□□□□□□
□□□●□□□□


第89个解:
□□□□□□□●
□●□□□□□□
□□□●□□□□
●□□□□□□□
□□□□□□●□
□□□□●□□□
□□●□□□□□
□□□□□●□□


第90个解:
□□□□□□□●
□●□□□□□□
□□□□●□□□
□□●□□□□□
●□□□□□□□
□□□□□□●□
□□□●□□□□
□□□□□●□□


第91个解:
□□□□□□□●
□□●□□□□□
●□□□□□□□
□□□□□●□□
□●□□□□□□
□□□□●□□□
□□□□□□●□
□□□●□□□□


第92个解:
□□□□□□□●
□□□●□□□□
●□□□□□□□
□□●□□□□□
□□□□□●□□
□●□□□□□□
□□□□□□●□
□□□□●□□□

你可能感兴趣的:(Eight Queen Problem-浅究八皇后问题)