八皇后

来源:互联网 发布:几点睡觉 知乎 编辑:程序博客网 时间:2024/04/29 05:47

记录下学到的东西,免得会了又忘记,这个问题让我自己想我肯定没这么简练整洁,这是一种做法记之;

#include<iostream>using namespace std;#define MAX 8int p[MAX];int tot=0;void print(int cur){    if(cur==MAX)        tot++;    else for(int i=0;i<MAX;i++){        int flag=1;        p[cur]=i;        for(int j=0;j<cur;j++)            if(p[cur]==p[j]||cur-p[cur]==j-p[j]||cur+p[cur]==j+p[j]){                flag=0;                break;            }            if(flag){                print(cur+1);            }    }}intmain(void){    print(0);    cout<<tot;    return 0;}
0 0
原创粉丝点击