题目:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=580
最多16个格,2^16=65536可以枚举完,而且很多都是可以剪枝的,用dfs枚举就可以。
要注意的是如果在dfs之前用vis数组标记放下了“车”,那么要在dfs之后清除掉。
最多16个格,2^16=65536可以枚举完,而且很多都是可以剪枝的,用dfs枚举就可以。
要注意的是如果在dfs之前用vis数组标记放下了“车”,那么要在dfs之后清除掉。
#include<cstdio> #include<cstring> #define clear(x) (memset(x,0,sizeof(x))) char map[4][4]; bool vis[4][4]; int n,max; void getnext(int x,int y,int &nextx,int &nexty) { if(x<n-1) { nextx=x+1; nexty=y; } else if(y<n-1) { nextx=0; nexty=y+1; } else nextx=nexty=-1;//标志已经到最后了 } bool canputdown(int x,int y) { if(map[x][y]=='X') return 0; int i; for(i=x-1;i>=0&&map[i][y]=='.';i--) if(vis[i][y]) return 0; for(i=y-1;i>=0&&map[x][i]=='.';i--) if(vis[x][i]) return 0; return 1; } void dfs(int x,int y) { if(x==-1&&y==-1) { int cnt=0; for(int i=0;i<n;i++) for(int j=0;j<n;j++) if(vis[i][j]) cnt++; if(cnt>max) max=cnt; return; } int nextx,nexty; getnext(x,y,nextx,nexty); if(canputdown(x,y))//如果能放下 { vis[x][y]=1;//放 dfs(nextx,nexty); vis[x][y]=0;//不放 dfs(nextx,nexty); } else dfs(nextx,nexty); } int main() { //freopen("in.txt","r",stdin); int i; while(scanf("%d",&n)&&n) { for(i=0;i<n;i++) scanf("%s",map[i]); max=0; clear(vis); dfs(0,0); printf("%d\n",max); } return 0; }
发表评论
-
UVa 10422 Knights in FEN
2012-09-07 08:40 938题目:http://uva.onlinejudge.org/i ... -
UVa 539 The Settlers of Catan
2012-08-31 22:22 28题目:http://uva.onlinejudge.org/i ... -
UVa 301 Transportation
2012-08-31 22:10 34题目:http://uva.onlinejudge.org/i ... -
UVa 216 Getting in Line
2012-08-29 20:48 758题目:http://uva.onlinejudge.org/i ... -
UVa 10474 Where is the Marble?
2012-08-28 13:45 883题目:http://uva.onlinejudge.org/i ... -
UVa 592 Island of Logic
2012-08-27 11:05 1679题目:http://uva.onlinejudge ... -
UVa 11205 The broken pedometer
2012-08-25 17:28 1089题目:http://uva.onlinejudge.org/i ... -
UVa 131 The Psychic Poker Player
2012-08-24 22:28 905题目:http://uva.onlinejudge.org/i ... -
UVa 729 The Hamming Distance Problem
2012-08-24 12:18 732题目:http://uva.onlinejudge.org/i ... -
Uva 10098 Generating Fast
2012-08-23 15:28 688题目:http://uva.onlinejudge.org/i ... -
UVa 146 ID Codes
2012-08-20 18:46 802题目:http://uva.onlinejudge.org/i ... -
UVa 10167 Birthday Cake
2012-08-16 20:57 635题目:http://uva.onlinejudge.org/i ... -
UVa 10129 Play on Words
2012-08-15 22:49 1181题目:http://uva.onlinejudge.org/i ... -
UVa 10596 Morning Walk
2012-08-14 22:05 920题目:http://uva.onlinejudge.org/i ... -
Uva 10305 Ordering Tasks
2012-08-13 23:40 694题目:http://uva.onlinejudge.org/i ... -
Uva 10004 Bicoloring
2012-08-13 23:34 912题目:http://uva.onlinejudge.org/i ... -
Uva 532 Dungeon Master
2012-08-13 23:29 821题目:http://uva.onlinejudge ... -
Uva 439 Knight Moves
2012-08-11 22:24 691题目:http://uva.onlinejudge.org/i ... -
UVa 784 Maze Exploration
2012-08-11 14:09 881题目:http://uva.onlinejudge.org/i ... -
Uva 572 Oil Deposits
2012-08-11 11:43 788题目:http://uva.onlinejudge.org/i ...
相关推荐
标题中的"uva272 uva272 uva272"和描述中的"uva272"指的是UVA(University of Virginia)在线判题系统的第272题,这通常与编程竞赛和算法挑战有关。该题目的标签为"算法",意味着我们需要解决一个与计算机算法设计和...
【uvaoj 习题题目】相关知识点详解 在编程学习和竞赛中,UVa Online Judge(简称UVa或OJ)是一个广受欢迎的在线评测系统,它为程序员提供了大量练习题目,涵盖算法、数据结构、数学等多个领域。通过解决这些题目,...
【UVA在线判题系统与示例代码详解】 UVA(University of Victoria Algorithm Competition)是全球知名的在线算法竞赛平台,它提供了丰富的编程题目供程序员挑战,以提高算法设计和编程能力。UVA Online Judge(简称...
【UVA题目大全】是面向ACM(国际大学生程序设计竞赛)参赛者和算法爱好者的一份宝贵资源。UVA(University of Victoria Algorithm)在线判题系统是世界上最早的在线编程竞赛平台之一,它提供了大量的编程题目供用户...
【标题】"uva最全ac代码" 涉及的是在编程竞赛领域中的一个集锦,特别是针对UVA(University of Victoria Algorithm)在线判题系统的解决方案。UVA是全球最早的在线算法竞赛平台之一,吸引了众多程序员参与并提交代码...
这些文件是针对UVA(University of Virginia)在线判题系统的编程题目的解决方案,主要涵盖了编号为200至299的题目。UVA在线判题平台是一个著名的编程竞赛和练习平台,它提供了各种难度级别的算法和编程问题,旨在...
【UVA练习题】是针对在线编程竞赛平台UVA(University of Virginia)的一系列练习题目。UVA是一个广受欢迎的编程竞赛网站,它为程序员提供了一个展示编程技能和解决问题的平台。这里的“不是很难,试试吧”可能意味...
"uva.rar_UVA_posAgent_uva 2d_uva_trilearn"这个标题可能是指一个与UVA平台相关的项目或资源包,其中包含了几个特定的组件。 "posAgent"可能指的是一个定位或位置代理,这在计算机科学中通常与移动机器人、游戏或...
UVA(University of Virginia)在线判题系统是一个广受欢迎的平台,汇集了众多经典算法题目。"uva 50个题解"这个资源显然是针对这个平台的题目的解答集合,特别适合对算法学习和实践感兴趣的人群。下面,我们将深入...
1.Uva_base的编译 在编译球队时,则需要在当前球队文件夹下打开终端输入执行以下命令(以下命令都是在root下执行的): ./configure make clean make 如果运行Uva_base后,出现球员越界或掉线的情况,就重新...
标题中的"UVaOJ-401(Palindromes)"表明这是一个关于解决UVa Online Judge(UVa OJ)上编号为401的编程挑战,该挑战的主题是"Palindromes",即回文串。回文串是指一个字符串无论从前读到后还是从后读到前都是相同的,...
根据给定的信息,本文将对UVA109题目的解决方案进行详细解析,重点在于理解题目背景、所需算法原理及具体实现步骤。 ### 题目背景与要求 UVA109是一道关于计算几何的经典题目,主要考察学生对于**凸包**(Convex ...
世界著名大学UVA OJ平台上的题目部分分类,分的不好请原谅。
### Uva 1510 - Neon Sign #### 问题背景与描述 在题目“Uva 1510 - Neon Sign”中,我们面对的是一个霓虹灯招牌设计问题。该霓虹灯招牌由一系列位于圆周上的角点组成,并通过发光管连接这些角点。发光管有两种...
uva531最长公共子序列问题水题,应用简单的dp即可ac有更快速的方法欢迎讨论
在IT领域,特别是编程竞赛和算法训练中,UVA(University of Virginia)是一个知名的在线判题平台,它为程序员提供了大量的编程题目,旨在提升大家的算法思维和编程能力。"uva 部分题目解决代码"这个压缩包很可能是...
UVa Online Judge是一个著名的在线编程竞赛平台,它提供了大量的算法问题供程序员们挑战,以提升他们的编程技巧和算法理解能力。这个压缩包包含了在UVa平台上部分题目的解答,是学习和参考的好资源。让我们详细了解...
标题中的"AIML.zip_UVA_UVA 499"暗示了这是一个与计算机编程相关的压缩文件,特别是针对解决UVA(University of Virginia)在线判题系统中的第499道题目。UVA在线判题系统是程序员提升算法和编程技能的一个平台,...
uva10755 ac 代码,可以随意更改下载
uva357的栈实现版本