1. 程式人生 > >重提八皇后問題

重提八皇后問題

之前有篇文章寫了八皇后問題,近來重寫時覺得有所簡便,便再鋪上個新程式碼。
如果對八皇后問題不瞭解的可以翻閱我之前的文章
下面鋪上程式碼供瀏覽進來的小可愛參考~

#include<iostream>
#include<math.h>
using namespace std;
int loc[8];
int sum=0;
int judge(int row,int col)
{
    int i;
    for(i=0;i<=col-1;i++)
        if(loc[i]==row||abs(loc[i]-row)==col-i)
            return
0; return 1; } void push(int col) { int row; if(col==8) { sum++; return; } for(row=0;row<8;row++) { if(judge(row,col)) { loc[col] = row; push(col+1); } } return; } int main() { int i; for
(i=0;i<8;i++) { loc[0]=i; push(1); } cout<<sum; return 0; }