本文共 645 字,大约阅读时间需要 2 分钟。
#include<iostream>
#include<math.h>
using namespace std;
int n=8,a[8],counter=1; int canplace(int row,int col); void search(int m); void output(); int main() { search(0); } //画地图 void search(int m) { int i; if(m == n) { output(); } else { for(i = 0;i < n;i++) {if( canplace (m,i))
{ a[m] = i; search(m+1); } } } } //判断 int canplace(int row,int col) { int i,flag=1; for(i = 0;i < row;i++) { if(a[i]==col||abs(a[i]-col)==abs(i-row)) { flag=0; break; } } return (flag); } void output() { cout<<"No "<< counter <<':'<<endl; counter++; for(int i=0;i<n;i++) { for(int j=0;j<n;j++) { if(a[i]==j) { cout<<'A'; } else { cout<<'.'; } } cout<<endl; } }转载地址:http://kcml.baihongyu.com/