hdu 2553 N皇后问题 (搜索)

来源:互联网 发布:方正字体 for mac 编辑:程序博客网 时间:2024/05/16 11:53

HDU 2553


不预处理会超时。。

#include <iostream>#include <cstdio>#include <cstring>using namespace std;int map[11];int n;int sum;int ans[11];void dfs(int line) {if(line == n + 1) {sum++;return;}int i, j;int flag;for(i = 1; i <= n; i++) {map[line] = i;flag = 1;for(j = 1; j < line; j++) {if(map[j] == i || map[j] + j == map[line] + line || map[j] - j == map[line] - line) {flag = 0;break;}}if(flag) dfs(line + 1);}}int main() {int i;for(i = 1; i <= 10; i++) {sum = 0;n = i;memset(map, 0, sizeof(map));dfs(1);ans[i] = sum;}int N;while(~scanf("%d", &N) && N ) {printf("%d\n", ans[N]);}return 0;}


0 0