#include<iostream> using namespace std; int total = 0; int main(){ int i,j,k; int queen[8]; for(i=0;i<8;i++){ queen[i] = 0; } for (i=1;;){ if (queen[i]<8) { k = 0; while (k<i&&abs(queen[i]-queen[k])&&(abs(queen[i]-queen[k])-abs(i-k))) k++; if (k<=i-1){ queen[i]++; continue; } i++; if (i < 8) { continue; } for (j = 0; j < 8; j++) { cout << queen[j]; } total++; cout << " "; if(total%5==0){ cout<<endl; } queen[7]++; i = 7; }else{ queen[i] = 0; i--; if (i<0){ cout<<endl; cout<<"total="<<total<<endl; return 0; }else{ queen[i]++; } } } }
八皇后问题
最新推荐文章于 2021-03-18 12:54:15 发布