hdu2553
来源:互联网 发布:数控车设计图和编程 编辑:程序博客网 时间:2024/06/05 16:51
N皇后的问题,解法好多种,这里采用的是递归回溯,但内存限制吧,用了打表的方法,其实用bfs可以不用打表.
主要是两个函数,递归函数和判断是否合法.
AC code:
#include <iostream>#include <cstring>using namespace std;#define N 10int Maze[N][N];int sum;int n;bool Valid(int i,int j);void Total(int cur,int n){if(cur==n) { sum++; return;}int i;for(i=0;i<n;++i){if(Valid(cur,i)){Maze[cur][i]=1;Total(cur+1,n);Maze[cur][i]=0;}}}bool Valid(int x,int y){ int i,j;for(i=0;i<n;++i)if(Maze[i][y]) return false; //排除同列的元素//排除左斜线部分j=y-1;for(i=x-1;i>=0;i--){if(i>=0&&j>=0&&Maze[i][j--])return false;}//排除右斜线部分j=y+1; for(i=x-1;i>=0;i--){if(i>=0&&j<n&&Maze[i][j++])return false;}return true;}int result[11]={0,1,0,0,2,10,4,40,92,352,724}; //采用打表~~int main(){memset(Maze,0,sizeof(Maze));while (cin>>n,n){cout<<result[n]<<endl;}return 0;}
- hdu2553
- hdu2553
- HDU2553
- HDU2553
- hdu2553
- HDU2553
- HDU2553
- hdu2553.c
- hdu2553 N皇后问题
- HDU2553 N皇后问题
- hdu2553 回溯法
- hdu2553(n皇后)
- HDU2553:N皇后问题
- hdu2553 n皇后问题
- hdu2553解题报告
- hdu2553 N皇后问题
- hdu2553 n皇后问题
- HDU2553 N皇后问题
- c#网页开发学习(一)
- java.lang.UnsatisfiedLinkError: no XXX in java.library.path .
- 百度分享
- LUA注意事项
- c#网页开发学习(二)
- hdu2553
- Mary Queen of Scots——4、The death of David Riccio
- C语言第二次作业
- 导出/导入数据时不会对统计信息产生影响
- Java学习笔记——自定义异常处理
- github的使用
- Qt 双缓冲绘图
- 【技巧学习】解决"无法在windows资源管理器中查看此FTP站点"的问题
- aliyun地图分享