`
java-mans
  • 浏览: 11710691 次
文章分类
社区版块
存档分类
最新评论

639 Don't Get Rooked

 
阅读更多
/*
一次AC,题不难。
找错经历:
①处出错,不能使用sizeof()计算形参中数组长度
②G的状态应分三种情况讨论。
题意:一个棋盘,放置rook,要求不能在同一行或同一列,除非中间有墙。
思路:回溯+状态存储,G值为0表示有墙,为1表示可放,为-1表示有冲突。
*/

#include <cstdio>
#include <cstring>
int n;
int ans;
void dfs1(int (*G)[7],int x,int y)
{
	G[x][y]=-1;//②
	for(int i=x-1;i>=1;i--)
		if(G[i][y])
			G[i][y]=-1;
		else
			break;
	for(int i=x+1;i<=n;i++)
		if(G[i][y])
			G[i][y]=-1;
		else
			break;
	for(int i=y-1;i>=1;i--)
		if(G[x][i])
			G[x][i]=-1;
		else
			break;
	for(int i=y+1;i<=n;i++)
		if(G[x][i])
			G[x][i]=-1;
		else
			break;
}
void dfs(int (*G)[7],int count)
{
	int GG[7][7];	
	memcpy(GG,G,sizeof(GG));//不能使用形参中的数组①
	bool ok=false;
	for(int i=1;i<=n;i++)
		for(int j=1;j<=n;j++)
		{
			if(GG[i][j]==1)
			{
				//printf("%d %d\n",i,j);
				ok=true;
				dfs1(GG,i,j);
				dfs(GG,count+1);
				memcpy(GG,G,sizeof(GG));
			}
		}
	if(!ok)
	{
		if(count>ans)
			ans=count;
	}
}
int main()
{
	//freopen("data.in","r",stdin);
	int G[7][7];
	while(scanf("%d",&n) && n)
	{
		char c;
		memset(G,0,sizeof(G));
		for(int i=0;i<n;i++)
		{
			getchar();
			for(int j=0;j<n;j++)
			{
				c=getchar();
				if(c=='.')
					G[i+1][j+1]=1;
			}
		}
		ans=0;
		dfs(G,0);
		printf("%d\n",ans);
	}
}

分享到:
评论

相关推荐

    Don't Make Me Think.pdf

    Don't Make Me Think.pdf 高清 书签版

    You Don't Know JS 全套六本中文

    《You Don't Know JS》是一套深度解析JavaScript语言核心机制的系列书籍,旨在帮助开发者深入理解这门广泛使用的编程语言。这套书全面覆盖了JavaScript的关键概念和技术,包括但不限于闭包、作用域链、ECMAScript 5...

    Don’t Make Me Think

    Don’t Make Me Think田士庆

    Apache You don't have permission to access / on this server

    "Apache You don't have permission to access / on this server" 是一个经典的Apache服务器错误信息,它意味着用户尝试访问网站时遇到了权限问题。这个错误通常出现在Apache HTTP服务器的配置不当或者目录权限设置...

    Firewalls Don't Stop Dragons, 3rd Edition.pdf

    You probably don’t really know. Computers and the Internet have revolutionized the modern world, but if you’re like most people, you have no clue how these things work and don’t know the real ...

    You Don't Know JS(高清带目录中文版)1-3

    《You Don't Know JS》是一套著名的JavaScript编程书籍,由Kyle Simpson撰写,旨在深入解析JavaScript的各个核心概念,帮助开发者真正理解这门语言的精髓。本资源提供了高清中文版的第1-3部分,分别是“3this与对象...

    You Don't Know JS- Async & Performance(O'Reilly,2015)

    No matter how much experience you have with JavaScript, odds are you don't fully understand the language. As part of the "You Don't Know JS" series, this concise yet in-depth guide focuses on new ...

    You Don't Know JS(中英全6本,带目录)

    《You Don't Know JS》是一套深度探讨JavaScript编程语言的权威书籍,包含了全面且深入的知识点,适合进阶学习者和专业开发者。这套书共有六本,每本都专注于JavaScript的不同方面,旨在帮助读者理解语言的微妙之处...

    不要让我思考(Don't Make Me Think)

    《不要让我思考》这本书是Web设计领域的一部经典之作,作者是Steve Krug。书中提出了许多关于网页设计的基本原则,这些原则对于设计师、产品经理、网页开发者等从事与Web界面设计相关工作的专业人士具有极大的指导...

    don't make me think

    《不要让我思考》是Steve Krug撰写的一本关于网页可用性的设计书籍,它被广大用户界面(UI)和用户体验(UX)设计师奉为经典之作。该书的第二版包含了作者对现代网页设计的新见解和案例,旨在告诉读者如何通过常识性...

    湖北省武汉市北大附中武汉为明实验中学八年级英语下册 Unit 8 Why don’t you get her a scarf?基

    这篇内容主要涉及的是初中英语的学习,特别是八年级下册Unit 8 "Why don’t you get her a scarf?" 的基础知识练习。这个单元主要围绕送礼物和表达祝福的情境展开,涉及到词汇、语法、听力和口语等多个方面。 1. ...

    Windows 电源管理工具 Don’t Sleep 8.11 中文版.zip

    当然,您也可以手动禁用所有选项,然后再次激活,但是使用“Don’t Sleep”功能可以节省很多手部动作,还可以节省时间!而且它比以往任何时候都容易。 Windows 电源管理工具 Don't Sleep 中文版 Windows 电源管理...

    陕西省榆林市定边县安边中学八年级英语下册 Unit 8 Why don’t you get her a scarf Period

    这篇资料是针对陕西省榆林市定边县安边中学八年级英语下册 Unit 8 "Why don’t you get her a scarf" 第五课时的学习指导方案,主要涉及的是人教新目标版教材的内容。本单元围绕着宠物的选择展开,旨在帮助学生掌握...

    网页设计秘笈Don’t Make Me Think .pdf.rar

    《Don’t Make Me Think》是Steve Krug撰写的一本经典网页设计书籍,它深入浅出地探讨了如何创建用户友好的网页设计。这本书的核心理念是,网页设计应该尽可能直观,让用户在无需过多思考的情况下就能理解网页的功能...

    abe.jar工具,解决Don't know how to process version 5

    在遇到“Don't know how to process version 5”的错误时,这通常意味着Abe.jar不支持当前APK的版本格式,这可能是由于APK格式的更新或Abe.jar自身的版本过旧。 首先,让我们深入了解一下Java和Android的关系。Java...

    《you don't know js》高清完整版

    《You Don't Know JS》是一系列关于JavaScript的书籍,旨在深入讲解JavaScript这一编程语言,帮助读者从基础到进阶深入理解JavaScript的各项概念与机制。本书不仅包括JavaScript语言的基础知识,还涵盖了如何编写...

    防止电脑自动关机(DontSleep)V5.51英文绿色版

    don't sleep是一款专为防止电脑关机重启开发的小软件,从它的名字上大家可以猜出他的作用,用来防止系统关机、待机休眠和重启。不仅如此,它还可以阻止注销计算机和屏蔽失效,尤其是当旧的程序在windows 7或windows ...

    Don’t Make Me Think别让我思考(原书简体中文第2版).part1

    交互设计必看的经典书籍 入门级经典图书 De Dream'译

    外研版(一起)英语二年级上册 Module2 I don't like ginger.(课件).pptx

    这篇课件是针对外研版(一起)二年级上册英语教材Module2的内容,主题为"I don't like ginger"。这个单元主要教授学生如何用"I like…"和"I don't like…"这两个句型来表达个人对事物,特别是食物的喜好。在教学过程...

Global site tag (gtag.js) - Google Analytics