HDU 2553 N皇后问题(深搜+回溯)
来源:互联网 发布:js 二维数组定义 编辑:程序博客网 时间:2024/06/04 18:16
http://acm.hdu.edu.cn/showproblem.php?pid=2553
回溯法,一直错在了标记为1,0上面,应该标记为++,这样回溯的时候才不会把别人的点还原;
同时,这一题要记录下来这10个的answer,否则TLE
#include<stdio.h>#include<cstring>#include<algorithm>using namespace std;int t, k, n;char map[105][105] = {0};void dfs(int x, int y);int main(){while (~scanf("%d", &n) && n!=0){k = 0;for(int i=1;i<=n;i++){memset(map,0,sizeof(map));dfs(1,i);}printf("%d\n",k);}}void dfs(int x, int y){int xx, yy,i ,j;if(x==n){k++;return;}for(i=1;i<=n;i++){for(j=1;j<=n;j++){if(i==x || j==y || x+y==i+j || x-i==y-j)map[i][j]++; //不能直接标记为0,用++能记录该点被用过多少次,否则下次回溯的时候,直接把重复的点他、也还原了}}for(i=1;i<=n;i++){if(map[x+1][i] == 0){dfs(x+1,i);}}for(i=1;i<=n;i++){for(j=1;j<=n;j++){if(i==x || j==y || x+y==i+j || x-i==y-j)map[i][j]--;}}}
0 0
- hdu 2553 N皇后问题(回溯)
- HDU 2553 n皇后问题(回溯)
- HDU 2553 n皇后问题(回溯)
- 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皇后问题 (DFS_回溯)
- hdu 2553 N皇后问题(回溯法)
- HDU 2553 N皇后问题 (DFS+回溯)
- Hdu oj 2553 N皇后问题(回溯加预处理)
- HDU 2553 N皇后问题 (回溯DFS)
- hdu 2553 N皇后问题(回溯算法)
- nfs安装与配置
- javascript 堆栈与列队
- IOS开发之CocoaAsyncSocket学习
- 网络流1飞行员配对方案问题
- Form表单属性及其常用的INPUT控件
- HDU 2553 N皇后问题(深搜+回溯)
- A 星算法
- myeclipse设置2
- AndroidStudio单元测试——instrumentation
- InnoDB与Myisam的六大区别
- HDU 1016 Prime Ring Problem(素数环)
- C++类型转换分为:隐式类型转换和显式类型转换
- Java Native Interface: Who When Where What Why How
- CAN bus的移植