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)


相关推荐

  • PHP实现微信小程序支付完整版,可以借鉴!

    PHP实现微信小程序支付完整版,可以借鉴!

    2021年10月30日
  • simplescalar自动安装

    simplescalar自动安装1.在gedit(或其他的文本编辑器)中加入以下代码:NAME=SimplescalarPACKAGE=simplescalarTOOL=simpletools-2v0UTIL=simpleutilsSIM=simplesimsudoapt-getupdatesudoapt-getinstallflex-oldbisonbuild-essentia

  • java integer的范围_java integer的取值范围是什么?

    java integer的范围_java integer的取值范围是什么?JavaInteger取值范围Integer类取值和int类型取值一致,取值范围是从-2147483648至2147483647,包括-2147483648和2147483647。但是对于Integer类,java为了提高效率,初始化了-128–127之间的整数对象,因此Integer类取值-128–127的时候效率最高。测试:publicclassIntegertest…

    2022年10月29日
  • java中使用uuid函数_uuid主键

    java中使用uuid函数_uuid主键UUID介绍:UUID(UniversallyUniqueIdentifier)全局唯一标识符,是指在一台机器上生成的数字,它保证对在同一时空中的所有机器都是唯一的。按照开放软件基金会(OSF)制定的标准计算,用到了以太网卡地址、纳秒级时间、芯片ID码和许多可能的数字。由以下几部分的组合:当前日期和时间(UUID的第一个部分与时间有关,如果你在生成一个UUID之后,过几秒又生成一个UUID,则…

  • linux查看nfs端口命令,LinuxNFS端口命令是什么? 爱问知识人

    linux查看nfs端口命令,LinuxNFS端口命令是什么? 爱问知识人在Linux系统中,我们也会常遇到NFS的设置。针对这方面,我们这次主要讲解一下LinuxNFS的端口配置。看看如何设置可以调节好防火墙和端口的设置。#LinuxNFS服务固定端口及防火墙配置#1。在LINUX上正常安装NFS服务2。修改/etc/service,添加以下内容(端口号必须在1024以下,且未被占用)#Localservicesmountd1011/tcp#rpc。mount…

  • ZBrush中必须记住的常用快捷键

    ZBrush中必须记住的常用快捷键ZBrush是一款数字雕刻和绘画软件,它以强大的功能和直观的工作流程彻底改变了整个三维雕刻行业。强大的功能离不开便捷的操作,为此ZBrush提供了一系列常用操作快捷键,熟练掌握这些快捷键

发表回复

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

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