原题hdoj2553:
题目描述:在一个N×N的方格中放置N个皇后,使其不能出现在同一列同一行同一对角线上,求有多少种放置方法。
题目的思路还是和八皇后是一样的。唯一要注意的就是不能每次去找都要 dfs ,这样太消耗时间。因为n 的数据最多就到10,所以我们直接打个表存储就好了
AC代码:
1 #include2 #include 3 #include 4 #include 5 #include 6 #include 7 8 using namespace std; 9 10 const int maxn = 100;11 12 int vis[maxn];13 int cnt = 0;14 int n;15 16 bool check(int row,int col)17 {18 for (int i=0;i > n){57 if (n == 0)58 return 0;59 else60 cout << a[n] << endl;61 }62 return 0;63 }