DFS
文章平均质量分 63
lin375691011
呵呵
展开
-
POJ 2942 Knights of the Round Table
题目大意: 有N个骑士,他们要开圆桌会议,也就是要坐成一个圈,相互憎恨的两个骑士是不能坐在相邻位置的,那样他们就会打起来。给出所有的憎恨关系。如果有人不可能开会,例如他可能憎恨所有人,就不能再去开会了。求这样人的个数。 解题思路: 1、首先根据题目给出的憎恨关系建图,然后求补图,这个图表示哪个骑士可以和哪个骑士坐在一起。 2、在图中求出圈,也就是双联通分量,这可以用到Tar原创 2014-01-15 20:46:53 · 5587 阅读 · 0 评论 -
POJ 1691 Painting A Board
题目大意: 墙上有一块区域被分成了n个矩形,每个矩形要涂上各自的颜色。为了保证完美要求这一块区域可以进行涂色的条件是它上方的所有区域都已经涂好颜色,这样就不会有后续的操作影响这块区域的颜色。但是如果两块区域颜色不同就要换涂颜色用的刷子。问最少需要换几次。 解题思路: 区域涂色的大体次序是由拓扑排序决定的,当有多个区域在同一层次时需要枚举这些区域来保证换刷子的次数最小。原创 2014-05-20 20:09:25 · 4624 阅读 · 0 评论 -
POJ 1699 Best Sequence
我想说只要想错了死都对不了,这是真理~~。 题目大意: 给出n个字符串,要求像下图一样将这些字符串组成一个最短的字符串。 解题思路: 这个题下意识的就应该用KMP来判断前串和后串有几个字母重合啊!!!KMP可是刚学过去的啊!!!为什么要忽略它啊!! 除了计算出任何两个串之间有多少个重合的的字符之外,就是一个DFS了八皇后的思路。 下面是代码: #inc原创 2014-04-09 17:35:06 · 8092 阅读 · 0 评论 -
POJ 1426 Find The Multiple
本以为这题会很难,又是大数又是搜索的,结果仔细一研究,就是一水题…… 大致题意: 给出一个整数n,(1 从小往大搜超不出unsigned long long型的范围,每个数都有答案,放心的DFS就行。 下面是代码: #include int n,flat; unsigned long long b; void DFS(unsigned long long a,int st原创 2013-08-20 10:05:11 · 5654 阅读 · 1 评论 -
POJ 3009 Curling 2.0
先吐槽一下:模拟神马的最讨厌了!!!! 题目大意: 给定一个地形图,要求类似于把冰壶从起点(标号2),移动到终点(标号3),求最小停止次数(没撞一次石块停止一次)。 需要注意: 1、冰壶撞到石头后,冰壶会停在石头前面,此时(静止状态)才允许改变冰壶的运动方向,而该块石头会破裂,石头所在的区域由1变为0. 也就是说,冰壶撞到石头后,并不会取代石头的位置。 2、终点是一个摩擦原创 2013-08-19 17:46:49 · 3906 阅读 · 0 评论 -
POJ 2531 Network Saboteur
这题一开始怎么想也想不出搜索来, 后来才明白原来是这样。 这是一个DFS暴搜,呵呵…… 下面是代码: #include #include const int M=25; int n,map1[M][M],sum,max1; bool vis[M][M]; void DFS (int m,int step) { int j; if(step==n) {原创 2013-08-21 16:44:09 · 4228 阅读 · 0 评论 -
POJ 1416 Shredding Company
这道题是道水题,不要介意神马前导零之类的,没影响。 题目大意: 公司现在要发明一种新的碎纸机,要求新的碎纸机能够把纸条上的数字切成最接近而不超过target值。比如,target的值是50,而纸条上的数字是12346,应该把数字切成四部分,分别是1、2、34、6。因为这样所得到的和43 (= 1 + 2 + 34 + 6) 是所有可能中最接近而不超过50的。(比如1, 23, 4, 和原创 2013-08-21 19:26:13 · 4459 阅读 · 0 评论 -
POJ 2676 Sudoku
这题是个DFS搜索题。 大致题意: 九宫格问题,也有人叫数独问题 把一个9行9列的网格,再细分为9个3*3的子网格,要求每行、每列、每个子网格内都只能使用一次1~9中的一个数字,即每行、每列、每个子网格内都不允许出现相同的数字。 下面是代码: #include #include bool vish[9][10],visl[9][10],visg[9][10原创 2013-08-21 21:00:32 · 3826 阅读 · 0 评论 -
POJ1753 Flip Game
这是一个贪心题。 我用的是八皇后的算法。 代码操作也差不多。 下面是代码: #include int a[17],b,w,min,cut; void up(int i) { if(i-4>=0) { if(a[i-4]==0) { a[i-4]=1; w--; b++;原创 2013-07-26 19:03:34 · 7561 阅读 · 0 评论 -
POJ 2965 The Pilots Brothers' refrigerator
这个题是一个枚举题。 用的是八皇后算法。 具体操作不说了。 下面是代码: #include struct node { int x,y; }de[200],dr[200]; int a[17],b,w,min,cut; void ro(int i) { int j=4; while(i-j>=0) { if(a[i-j]==0)原创 2013-07-26 19:08:11 · 4208 阅读 · 0 评论 -
POJ 1321 棋盘问题
水水的DFS,中文题目大意不解释。 这是一道八皇后问题的衍生题吧,我觉得是这样,不知道你们怎么看。 直接贴代码: #include #include bool vis[10]; int map1[10][10],n,k,cut; void DFS(int num,int y) { int i; if(num==k) { cut++;原创 2013-08-19 19:27:21 · 3735 阅读 · 0 评论 -
POJ 2488 A Knight's Journey
标准的DFS,只不过是坑爹的字典序坑到了无数人…… 题目大意: 给出一个国际棋盘的大小,判断马能否不重复的走过所有格,并记录下其中按字典序排列的第一种路径。 注意事项: 只有一条,那就是字典序!!!!!!!! 对于马的位置,DFS搜索时需要按这个顺序来: 这样搜出来的第一条路就是字典序最小的路了。 还有一条就是因为这条路可以走过棋盘上的所有的点原创 2013-08-19 10:20:02 · 3821 阅读 · 0 评论 -
Codeforces Beta Round #6 (Div. 2 Only) B. President's Office
题目大意给出一个n*m的矩阵 ,描述桌子的布局。总统的桌子和他的副手的桌子相邻,每一个人的桌子有它独有的颜色。问总统有多少个副手。解题思路搜出总统的桌子在矩阵中的边界后判断边界外的其它颜色桌子的数量。原创 2015-02-20 09:04:38 · 2040 阅读 · 0 评论