Avada kedavra_用回溯法解N皇后问题

Avada kedavra_用回溯法解N皇后问题hdu2553N皇后问题

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

hdu2553

N皇后问题

//hdu2553 
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
#define MAX 11
int ans,n;
struct Map{
	int x;
	int y;
};
Map map[MAX];
void dfs(int cont){
	if(cont==n){
		ans++;
		return;
	}
	if(cont>n){
		return ;
	}
	int j,m;
	for(j=0;j<n;j++){//第cont个皇后的行号为cont 
		for(m=0;m<cont;m++){
			if(map[m].y==j||map[m].x+map[m].y==cont+j||map[m].x-map[m].y==cont-j){
				break;
			}	
	    }
	    if(m<cont)//当前皇后不能放在cont行j列 
		        continue;
		map[cont].x=cont;
	    map[cont].y=j;
	    dfs(cont+1);
	}	
}
int main(){
	int Queen[MAX];
	for(n=1;n<=10;n++){
		ans=0;
		for(int j=0;j<n;j++){//第一个放在第0行的某一列 
			map[0].x=0;
			map[0].y=j;
			int cont=1;
			dfs(cont);
		}
		Queen[n]=ans;
	} 
	while(scanf("%d",&n)!=EOF&&n){
		
		printf("%d\n",Queen[n]);
	}
	return 0;
} 


版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/188097.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • Python画图之浪漫樱花

    Python画图之浪漫樱花importturtleasTimportrandomimporttime#画樱花的躯干(60,t)defTree(branch,t):time.sleep(0.0005)ifbranch>3:if8<=branch<=12:ifrandom.randint(0,2)…

  • MyEclipse、eclipse代码自动补全(联想输入)「建议收藏」

    MyEclipse、eclipse代码自动补全(联想输入)「建议收藏」MyEclipse(eclipse)的自动补全(联想输入)分两种,直接提示和按快捷键提示,设置方法分别如下 一、每次输入都自动提示 Window->preferences->Java->Editor->ContentAssist 再右下角AutoactivationtriggersforJava里面改为 Java代码  abcdefghijkl

  • redis主从复制原理是同步还是异步_kubernetes高可用架构

    redis主从复制原理是同步还是异步_kubernetes高可用架构史上最全的MySQL高可用架构之【主从复制】【故障转移】【读写分离】【负载均衡】

  • spring boot docker部署_docker部署java项目

    spring boot docker部署_docker部署java项目目录docker介绍安装dockerUbuntu安装dockerCentOS安装docker通过脚本安装创建springboot项目docker介绍Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的Linux或Windows机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。docker的核心思想是…

    2022年10月10日
  • Python全栈工程师(字符串/序列)[通俗易懂]

    Python全栈工程师(字符串/序列)[通俗易懂]ParisGabrielPython入门基础字符串:str用来记录文本信息字符串的表示方式:在非注释中凡是用引号括起来的部分都是字符串‘’ 单引号“” 双引号'''&#

  • 如何直接运行jar包_怎么运行jar文件

    如何直接运行jar包_怎么运行jar文件怎么后台运行jar包1.后台运行jar包[root@slaver5testshanghai]#nohupjava-jarplaningprojectweb-2020120813.jar&nohup:不挂断地运行命令,输出都将附加到当前目录的nohup.out文件中。如果当前目录的nohup.out文件不可写,输出重定向到$HOME/nohup.out文件中&:后台运行查看nohup.out[root@slaver5testshanghai]#cat

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号