题意:。。。
典型的深搜,就是处理对角线的时候有些意外。
代码(注释掉的就是深搜,因为我不打表的话 TL):
#include<stdio.h> int c[11], n, ans; int res[10] = {1, 0, 0, 2, 10, 4, 40, 92, 352, 724}; /*void dfs(int cur) { if(cur == n) { ++ans; return ; } int i, j, flag; for(i = 0; i < n; i ++){ flag = 1; c[cur] = i; for(j = 0; j < cur; j ++){ if(c[cur]==c[j]|| cur - c[cur]== j - c[j] || cur + c[cur]== j + c[j]){ flag = 0; break; } } if(flag) dfs(cur+1); } }*/ int main() { while(scanf("%d", &n), n){ //ans = 0; //dfs(0); printf("%d\n", res[n-1]); } }题目链接:点击打开链接
hdoj 2553 N皇后问题 【DFS】,布布扣,bubuko.com
原文地址:http://blog.csdn.net/shengweisong/article/details/38639183