HDU 2553 - N皇后问题 [回溯法]
来源:互联网 发布:silk labo 知乎 编辑:程序博客网 时间:2024/04/29 17:43
Problem Description
在N*N的方格棋盘放置了N个皇后,使得它们不相互攻击(即任意2个皇后不允许处在同一排,同一列,也不允许处在与棋盘边框成45角的斜线上。你的任务是,对于给定的N,求出有多少种合法的放置方法。
#include <iostream>#include <cstdio>#include <cstring>using namespace std;int N, cnt, vis[3][32], res[12];void Search(int cur){if(cur == N) {cnt++; return;}for(int i = 0; i < N; ++i){if(!vis[0][i] && !vis[1][cur+i] && !vis[2][cur-i+N]){vis[0][i] = vis[1][cur+i] = vis[2][cur-i+N] = 1;Search(cur + 1);vis[0][i] = vis[1][cur+i] = vis[2][cur-i+N] = 0;}}}int main(int argc, char *argv[]) {while (cnt = 0, memset(vis, 0, sizeof(vis)), cin >> N, N) { if(!res[N]) Search(0), res[N] = cnt;cout << res[N] << endl;}return 0;}
0 0
- HDU 2553 - N皇后问题 [回溯法]
- hdu 2553 N皇后问题(DFS+回溯)
- 【回溯】hdu 2553 N皇后问题
- hdu 2553 N皇后问题(回溯)
- 【dfs+回溯】hdu 2553 N皇后问题
- hdu 2553 N皇后问题(回溯)
- hdu 2553 N皇后问题 dfs回溯
- hdu 2553 N皇后问题(dfs+回溯)
- HDU 2553 n皇后问题(回溯)
- HDU 2553 n皇后问题(回溯)
- hdu 2553 N皇后问题 搜索 回溯法
- hdu 2553 N皇后问题(回溯法)
- HDU-2553 N皇后问题(暴力回溯法)
- HDUJ 2553 N皇后问题 回溯法
- HDU 2553 N皇后问题(经典的回溯问题)
- n皇后问题-回溯法
- 【回溯法】n皇后问题
- N皇后问题,回溯法
- 欢迎使用CSDN-markdown编辑器
- C++中const的作用大全
- [Git]关于Pull Request的十个建议
- Mybaites初步认知
- jsp初识(一)
- HDU 2553 - N皇后问题 [回溯法]
- 常见控件(六)
- Tomcat version 6.0 only supports J2EE 1.2, 1.3, 1.4, and Java EE 5 Web modules
- 回调函数使用
- 通用网址升级为“.网址”域名意味着什么?
- Block---注意事项
- 【算法】用lua解决快速排序问题
- u3d特效插件
- 通用网址升级为“.网址”域名意味着什么?