
简单搜索
国王与乞丐
当你还在回首往昔,殊不知你已经错过了当下......
展开
-
A-棋盘问题
题目链接: https://vjudge.net/contest/65959#problem/A题目大意 让你输入两个数字n,k。n代表一个n*n的棋盘, k代表你要给里面放的棋子,’#’代表棋子放置的区域, 要求是放入k颗棋子,每个棋子必须不同行,不同列, 问有多少种放置的方法。思路 1:用到了三个东西,递归,循环,和一个一维数组. 循环是用来控制棋子不同行,一维数组是用来控制棋翻译 2017-03-04 09:50:49 · 874 阅读 · 0 评论 -
M - 非常可乐
题目大意 三个杯子,S, A, B分别代表它们的容量,S=A+B, 先给S这个杯子倒满水,A,B不倒水, 要求是利用三个杯子平分S里边的水,问如果可以求倒水的次数(三个杯子可以互相倒水)解题思路 还是用BFS来做,三个杯子有6种倒法,难点就在于,如何倒水,以及最后判断是否平分,看了一个大神的做法,他是用数组的下标0,1,2来表示三个杯子,用它的值来表示杯子里的水量,这样只操作下标就可以操作原创 2017-03-07 21:14:01 · 397 阅读 · 0 评论 -
I - Fire Game
题目大意 一块地上面有草和空地,有两个人想要把草烧光,这样他俩就可以开心的OOXX,他俩都要在一块地上放火(每人只能放一次),可以在相同或者不同的位置放,火可以向四周蔓延,蔓延一次话费1分钟,问他俩把这块地上草烧完所用到的最小时间。解题思路 这个思路是我看一个大神的,感觉很好,就是将两人所能放火的位置都试一遍,比较得出所用最短的时间,具体用的是一个结构体数组将所有有草的位置全都记录下来,然原创 2017-03-06 20:50:25 · 988 阅读 · 1 评论 -
H - Pots
题目大意 输入两个容器的容量A,B,一开始让两个容器为空,然后给你对这两个容器的6种操作, 让你用这6种操作最终使得A或B容器里的水最终达到C,让你输出需要倒水的次数,以及从一开始到后来得到结果的路径。(要求C的大小在A和B之间)解题思路 还是BFS和DFS两者相结合,唯一的亮点就是最后输出路径是字符串,这样在定义结构体的时候要多加一个变量,用来作为路径数组的下标。代码# include原创 2017-03-06 20:25:36 · 1000 阅读 · 0 评论 -
G - Shuffle'm Up
题目大意 输入两堆牌str1,str2, 将两堆牌交叉重叠为一副牌str, 交叉规则是str2最底部的牌先放,然后是str1最底部的牌放在刚才放的牌的上面,直到两副牌放完。然后再从str的最底部开始到str1长度的牌直接当成str1, 从这个位置到最顶部赋给str2;直到找到和一开始输入的牌相等的str,找出要执行几次这个过程。解题思路 这个题要用到map,利用它键值对应,以及当查找时,键原创 2017-03-05 13:46:07 · 525 阅读 · 0 评论 -
K - 迷宫问题
题目大意 定义一个二维数组: int maze[5][5] = {0, 1, 0, 0, 0,0, 1, 0, 1, 0,0, 0, 0, 0, 0,0, 1, 1, 1, 0,0, 0, 0, 1, 0,};它表示一个迷宫,其中的1表示墙壁,0表示可以走的路,只能横着走或竖着走,不能斜着走,要求编程序找出从左上角到右下角的最短路线。 Input 一个5 × 5的二维数组,表示一个迷宫原创 2017-03-05 13:01:21 · 1068 阅读 · 0 评论 -
F - Prime Path
题目大意 在1000到10000的范围内,输入两个数,a,b。 b>a,现在要让你把a变成b。改变a四位数中的任何一位之后如果它为素数,就以他为基准继续变,直到它变成B(以素数为台阶)。思路 BFS思想,逐一由千位变到个位,每一位由1变到9,没变一次,比对这个数是不是素数,如果是就将它保存到队列中,循环里每次处理的都是上一个数,这才是广搜的核心。再使用一个一维数组,用变化后的素数表示下标,原创 2017-03-04 13:03:41 · 2604 阅读 · 0 评论 -
E - Find The Multiple
题目大意 输入一个整数,输出一个能整除它的数,这个数很特别,它只包含0和1。思路 1:只含有0,1的数可以这样求得,利用1,给它乘以10,给它乘以10后加1.每次对一它进行这两种操作 2:有两种方法,第一种DFS,用递归来做,终止递归的判别条件是,当这个数的长度超过19时,强制跳出当前的这条路,换一条路走。缺点是一条道走到黑,错过了中途好多的风景。另一种方法是BFS,利用循环和队列来原创 2017-03-04 12:15:09 · 3557 阅读 · 4 评论 -
C - Catch That Cow
https://vjudge.net/contest/65959#problem/C题目大意 在一条笔直的道路上,农民要捉牛,给出农民和牛的位置,牛不动,农民有三种方式可以走,例如农民在5,牛在17. 农民可以倍数级走,5*2。可以向前走一步5+1, 向后走一步5-1,每一种方式都花费一分钟,问最少花费的时间可以捉到牛。思路 这是一道典型的广搜题,核心是使用一个一维数组,用它的下标记录农翻译 2017-03-04 11:20:41 · 2756 阅读 · 4 评论 -
Dungeon Master
题目大意 在一个城堡里有一只火龙,它要飞出这个城堡,有6个方向,上,下,左,右,前,后,可以飞行。每飞一次记录一分钟,’#’代表城墙,不能飞,空地可以飞,但记录时间。现在让你输入一个城堡R, L, C,R代表层数, L代表行,R代表列, S代表起点,E代表终点。找出它最快几步能飞出城堡。(他可以从一层跳到另一层的空地)思路 典型的广搜题,用一个3维数组来存这个棋盘,先记录起点和终点的位置。翻译 2017-03-04 10:36:13 · 490 阅读 · 0 评论 -
L - Oil Deposits
题目大意 就是让你输入一个地图,‘#’代表空地, 用’@’代表油井, 让你找这片土地上的油田的个数,油田指的是,所有能从上下,左右,两条对角线相连的@,只要能连上中间不隔”#”, 就算是一个油田。解题思路 DFS能简单些,对每一个油井,它都有八个方向,要你去查找,看是不是油井,如果是就继续对它进行判断,如果不是就结束递归。如果已经查明它是油井,就将它标记为空地。具体看代码。代码# inc原创 2017-03-07 21:59:53 · 673 阅读 · 2 评论