10 2016 档案

摘要:题意:在n*m的图中‘#’表示草坪‘ . ’表示空地,可以选择在任意的两个草坪格子点火,火每 1 s会向周围四个格子扩散,问选择那两个点使得燃烧完所有的草坪花费时间最小。 分析:广度搜索,点火的格子可以为同一个。双循环遍历可以点火的草地,搜索得到每次烧完所用的步数,记录最小的一个。搜索是为了记录烧过 阅读全文
posted @ 2016-10-30 23:12 Nautilus1s 阅读(325) 评论(0) 推荐(0)
摘要:题意:两个容积分别为A,B的杯子可进行以下三种操作: 1、倒满杯子FILL(i) 2、倒空杯子DROP(i) 3、将杯子 i 中的水倒进杯子 j ,倒完后要么 i 为空,要么 j 为满。 问操作多少次能在某只杯子中恰好得到容积为C的水及操作步骤。 分析:广度优先搜索,每次的状态是当前两只杯子分别得水 阅读全文
posted @ 2016-10-30 22:36 Nautilus1s 阅读(150) 评论(0) 推荐(0)
摘要:题意:已知两队牌,数目都为C,序列为S1,S2。然后将S2最底部的一张牌作为牌数为2*C的新序列S12的底,接着交叉取S1,S2的牌叠到S12上。将S12下半部分C张牌作为新的S1,将S12上半部分C张牌作为新的S2。给定s1和s2的初始状态及要达到的最终状态s12,问s1 s2经过多少次上述洗牌之 阅读全文
posted @ 2016-10-30 22:06 Nautilus1s 阅读(219) 评论(0) 推荐(0)
摘要:题意:给两个四位数素数X,Y,每次可变换X的一位数字,变换后的数字应为素数,问X变为Y的最小变换次数。 分析:宽度搜索,每次将所有满足条件的,改变X的某一位数的后的素数入队列。 代码: 阅读全文
posted @ 2016-10-17 23:36 Nautilus1s 阅读(138) 评论(0) 推荐(0)
摘要:题意:给一个数N,找到一个N的倍数,其十进制只由0、1构成,输出其中一个就行。 分析:因为倍数只由0、1构成,故每次有两种方式移到下一状态:10N,10N+1。N最到位200故要用long long。 代码: 阅读全文
posted @ 2016-10-17 23:09 Nautilus1s 阅读(144) 评论(0) 推荐(0)
摘要:题意:Farmer John在一条线上追牛,他位于N,牛位于K。每一分钟从当前位置X他有两种方式追:移动到X-1或X+1;移到2X。问追到牛花费的最小时间。 分析:算最短时间用宽度搜索。将Farmer John的每一分钟的移动看做一次状态的变换,每一状态包含他的当前位置坐标和到当前位置花费的时间。移 阅读全文
posted @ 2016-10-17 22:43 Nautilus1s 阅读(122) 评论(0) 推荐(0)
摘要:题意:三维搜索,一次一格方向上下左右前后,问从S到E的最小步数。 题目 分析:算最短步数,简单宽度搜索。 代码: 阅读全文
posted @ 2016-10-16 22:03 Nautilus1s 阅读(152) 评论(0) 推荐(0)
摘要:题意:在一个给定形状的棋盘(形状可能是不规则的)上面摆放棋子,棋子没有区别。要求摆放时任意的两个棋子不能放在棋盘中的同一行或者同一列,请编程求解对于给定形状和大小的棋盘,摆放k个棋子的所有可行的摆放方案C。 题目 分析:n代表的是棋盘的大小,不等于棋盘区域的形状。按照每一行搜索,当摆放数为k时计数加 阅读全文
posted @ 2016-10-16 21:46 Nautilus1s 阅读(115) 评论(0) 推荐(0)