N皇后问题hdu2553(dfs)
N皇后问题
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 5846 Accepted Submission(s): 2651

/*
#include <stdio.h>//超时,,见鬼了
#include<string.h>
int count,n,k;
int vis[25][25]; void dfs(int cur)
{
int i;
if(cur==n)
count++;
else
for(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;
dfs(cur+1);
vis[0][i]=vis[1][cur+i]=vis[2][cur-i+n]=0;
}
}
}
int main()
{
while(scanf("%d",&n)&&n)
{
memset(vis,0,sizeof(vis));
count=0;
dfs(0);
printf("%d\n",count);
}
return 0;
}
*/
//果断打表; #include<stdio.h>
int main()
{
int num[]={,,,,,,,,,};
int n;
while(scanf("%d",&n),n)
{
printf("%d\n",num[n-]);
}
return ;
}
虽然超时了,但函数本身亦有可取之处,需要慢慢理解,好吧,打表的孩子伤不起啊,,,
有更新哦!!!
(当时年轻不懂事!现在回过来看看。15MS过)
#include <stdio.h>
#include<string.h>
int count,n,k;
int vis[][]; void dfs(int cur,int m)
{
int i;
if(cur==m)
count++;
else
for(i=;i<m;i++)
{
if(!vis[][i]&&!vis[][cur+i]&&!vis[][cur-i+m])
{
vis[][i]=vis[][cur+i]=vis[][cur-i+m]=;
dfs(cur+,m);
vis[][i]=vis[][cur+i]=vis[][cur-i+m]=;
}
}
} int main()
{
int num[]; //={1,0,0,2,10,4,40,92,352,724};
for(int i=;i<=;i++)
{
memset(vis,,sizeof(vis));
count=; dfs(,i);
num[i]=count;
}
while(scanf("%d",&n),n)
{
printf("%d\n",num[n]);
}
return ;
}
N皇后问题hdu2553(dfs)的更多相关文章
- N皇后问题(DFS)
题目:在N*N的国际象棋棋盘上放置N个皇后彼此不受攻击(即在棋盘的任一行,任一列和任意对角线上不能放置2个皇后),求解所有摆放方案的总数. 样例输入: 1 8 样例输出: 1 92 解题思路:由于皇后 ...
- HDU2553 N皇后问题---(dfs)
http://acm.hdu.edu.cn/showproblem.php?pid=2553 在N*N的方格棋盘放置了N个皇后,使得它们不相互攻击(即任意2个皇后不允许处在同一排,同一列,也不允许处在 ...
- hdu2553 N皇后问题(dfs+回溯)
N皇后问题 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submi ...
- hdu 2553 N皇后问题 (经典DFS)
题目链接:点击链接 思路:用一维数组hang[num] = i,num表示第num行,i表示第i列,计算n = 1~10皇后的不同放置数量,然后打表 #include<stdio.h> # ...
- HDU 2553 N皇后问题(dfs)
N皇后问题 Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u Description 在 ...
- 洛谷 P1219 八皇后【经典DFS,温习搜索】
P1219 八皇后 题目描述 检查一个如下的6 x 6的跳棋棋盘,有六个棋子被放置在棋盘上,使得每行.每列有且只有一个,每条对角线(包括两条主对角线的所有平行线)上至多有一个棋子. 上面的布局可以用序 ...
- hdu 2553 n皇后问题【DFS递归解法】
<题目链接> 题目大意: Problem Description 在N*N的方格棋盘放置了N个皇后,使得它们不相互攻击(即任意2个皇后不允许处在同一排,同一列,也不允许处在与棋盘边框成45 ...
- 八皇后问题(dfs)
#include <iostream> #include <stdio.h> using namespace std; ; ], b[], c[], vis[][]; //a, ...
- hdu 2553:N皇后问题(DFS遍历,水题)
N皇后问题 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submi ...
随机推荐
- 在EF中使用Expression自动生成p=>new Entity(){X="",Y="",..}格式的Lambda表达式灵活实现按需更新
一.基本介绍 回忆:最早接触Expression是在学校接触到EF的时候,发现where方法里的参数是Expression<Func<T,bool>>这么一个类型,当 ...
- 简单记录常用git 命令
声明:仅作笔记用 拉取远程代码 1.git pull 2.如果需要,输入账户名密码 将本地代码推送到远程 1.git push 2.如果需要,输入账户名密码 同步远程分支 1.git fetch 2. ...
- Linux巩固记录(2) java项目的编译和执行
由于要近期使用hadoop等进行相关任务执行,操作linux时候就多了 以前只在linux上配置J2EE项目执行环境,无非配置下jdk,部署tomcat,再通过docker或者jenkins自动部署上 ...
- 设置iptables NAT出外网
有时候云上部署环境,不能动态自设路由,没有公网ip地址的服务器,只能通过NAT的方式出外网,下面就记录一下设置过程. 当前状态 服务器A只有一个内网IP,不能上外网,内网IP与服务器B内网相通:服务器 ...
- linux free命令详解(一)
一. 作用 free命令可以显示当前系统未使用的和已使用的内存数目,还可以显示被内核使用的内存缓冲区. 二. 语法 free [选项] 三. 选项 默认情况下,即在没有选项的情况下,&qu ...
- Python爬虫实战四之抓取淘宝MM照片
原文:Python爬虫实战四之抓取淘宝MM照片其实还有好多,大家可以看 Python爬虫学习系列教程 福利啊福利,本次为大家带来的项目是抓取淘宝MM照片并保存起来,大家有没有很激动呢? 本篇目标 1. ...
- JavaSE-java8-谓词复合的用法
谓词接口包括三个方法: negate. and 和 or,让你可以重用已有的Predicate来创建更复杂的谓词 一.比如可以用negate方法来返回一个Predicate非 public class ...
- Android_触摸事件传递机制
Android中dispatchTouchEvent,onInterceptTouchEvent, onTouchEvent的理解ecandroid中的事件类型分为按键事件和屏幕触摸事件,Touch事 ...
- 第六章-Javac符号表
需要参考: (1)Architecture of a Java Compiler (2)关于符号Symbol第一篇 (3)关于符号Symbol第二篇 (4)关于类型Type (5)关于作用域范围Sco ...
- Ansible工作流程详解
1:Ansible的使用者 ------>Ansible的使用者来源于多种维度,(1):CMDB(Configuration Management Database,配置管理数据库),CMDB存 ...