随笔分类 -  搜索

分红酒 (广度优先搜索)
摘要:标题:分红酒 有4个红酒瓶子,它们的容量分别是:9升, 7升, 4升, 2升 开始的状态是 [9,0,0,0],也就是说:第一个瓶子满着,其它的都空着。 允许把酒从一个瓶子倒入另一个瓶子,但只能把一个瓶子倒满或把一个瓶子倒空,不能有中间状态。这样的一次倒酒动作称为1次操作。 假设瓶子的容量和初始状态不变,对于给定的目标状态,至少需要多少次操作才能实现? 本题就是要求你编程实现最小操作次数的计算。 输入:最终状态(逗号分隔) 输出:最小操作次数(如无法实现,则输出-1)例如:输入:9,0,0,0应该输出:0输入:6,0,0,3应该输出:-1输入:7,2,0,0应该输出:2当初比赛的时候做的这道题 阅读全文

posted @ 2013-05-06 21:54 nigel_jw 阅读(149) 评论(0) 推荐(0)

泊松分酒 (广搜)
摘要:泊松是法国数学家、物理学家和力学家。他一生致力科学事业,成果颇多。有许多著名的公式定理以他的名字命名,比如概率论中著名的泊松分布。 有一次闲暇时,他提出过一个有趣的问题,后称为:“泊松分酒”。在我国古代也提出过类似问题,遗憾的是没有进行彻底探索,其中流传较多是:“韩信走马分油”问题。 有3个容器,容量分别为12升,8升,5升。其中12升中装满油,另外两个空着。要求你只用3个容器操作,最后使得某个容器中正好有6升油。 下面的列表是可能的操作状态记录:12,0,04,8,04,3,59,3,09,0,31,8,31,6,5 每行3个数据,分别表示12,8,6升容器中的油量 第一行表示初始状态,第二 阅读全文

posted @ 2013-05-06 21:43 nigel_jw 阅读(505) 评论(0) 推荐(0)

hdu 1518 Square (广搜)
摘要:Problem DescriptionGiven a set of sticks of various lengths, is it possible to join them end-to-end to form a square?InputThe first line of input contains N, the number of test cases. Each test case begins with an integer 4 <= M <= 20, the number of sticks. M integers follow; each gives the le 阅读全文

posted @ 2013-05-06 21:31 nigel_jw 阅读(148) 评论(0) 推荐(0)

hdu 1016 Problem Description (广搜)
摘要:Problem DescriptionA ring is compose of n circles as shown in diagram. Put natural number 1, 2, ..., n into each circle separately, and the sum of numbers in two adjacent circles should be a prime.Note: the number of first circle should always be 1.Inputn (0 < n < 20).OutputThe output format i 阅读全文

posted @ 2013-05-06 21:28 nigel_jw 阅读(158) 评论(0) 推荐(0)

hdu 2612 Find a way (广搜)
摘要:ProblemDescriptionPassayearlearninginHangzhou,yifenfeiarrivalhometownNingboatfinally.LeaveNingbooneyear,yifenfeihavemanypeopletomeet.EspeciallyagoodfriendMerceki.Yifenfei’shomeisatthecountryside,butMerceki’shomeisinthecenterofcity.SoyifenfeimadearrangementswithMercekitomeetataKFC.TherearemanyKFCinNi 阅读全文

posted @ 2013-05-06 20:44 nigel_jw 阅读(166) 评论(0) 推荐(0)

hdu 1181 变形课 (广搜)
摘要:呃......变形课上Harry碰到了一点小麻烦,因为他并不像Hermione那样能够记住所有的咒语而随意的将一个棒球变成刺猬什么的,但是他发现了变形咒语的一个统一规律:如果咒语是以a开头b结尾的一个单词,那么它的作用就恰好是使A物体变成B物体.Harry已经将他所会的所有咒语都列成了一个表,他想让你帮忙计算一下他是否能完成老师的作业,将一个B(ball)变成一个M(Mouse),你知道,如果他自己不能完成的话,他就只好向Hermione请教,并且被迫听一大堆好好学习的道理.Input测试数据有多组。每组有多行,每行一个单词,仅包括小写字母,是Harry所会的所有咒语.数字0表示一组输入结束. 阅读全文

posted @ 2013-05-06 19:17 nigel_jw 阅读(173) 评论(0) 推荐(0)

移动字母(广度搜索+队列)
摘要:移动字母2x3=6个方格中放入ABCDE五个字母,右下角的那个格空着。如图所示。和空格子相邻的格子中的字母可以移动到空格中,比如,图中的C和E就可以移动,移动后的局面分别是:A B D E CA B CD E为了表示方便,我们把6个格子中字母配置用一个串表示出来,比如上边的两种局面分别表示为:AB*DECABCD*E 题目的要求是:请编写程序,由用户输入若干表示局面的串,程序通过计算,输出是否能通过对初始状态经过若干次移动到达该状态。可以实现输出1,否则输出0。初始状态为:ABCDE* 用户输入的格式是:先是一个整数n,表示接下来有n行状态。程序输出也应该是n行1或0 例如,用户输入:3ABC 阅读全文

posted @ 2013-05-06 19:05 nigel_jw 阅读(249) 评论(0) 推荐(0)

导航