读书人

八皇后有关问题的代码哪里出错了

发布时间: 2012-05-01 12:48:58 作者: rapoo

八皇后问题的代码哪里出错了?
自己菜鸟写的八皇后问题不知道哪里出错了,哪位高人指点一二?

C/C++ code
#include <iostream.h>#include <math.h>#define MAX 8int Queen[MAX];int sum = 0;//打印void printOut() {    for(int m=0;m<MAX;m++)        cout<<Queen[m];    cout<<endl;    }//判断第n个皇后放上去是否合法int IsValid(int n) {    for(int i=0;i<n;i++) {        if(Queen[n] == Queen[i] || abs(Queen[n]-Queen[i]) == n-i)            return 0;    }    return 1;}//在第i行放置皇后void PutQueen(int i) {        for(int j=0;j<MAX;j++) {            if(i == MAX) {                sum++;                cout<<sum<<endl;                printOut();            }            Queen[i] = j;            if(IsValid(i))                 PutQueen(i+1); //递归    }}int main() {    PutQueen(0);    cout<<"The count: "<<sum<<endl;    return 0;}


[解决办法]
看lz代码的格式挺爽.调试下

读书人网 >C++

热点推荐