算法谜题系列(一)

注:本系列博文是依据Algorithmic Puzzles学习笔记,每一小节包含5个谜题,在博客最后仅给出提示,具体答案见下一期博客

谜题1:狼羊菜过河

问题描述:一个人在河边,带着一匹狼、一只羊和一颗卷心菜。他需要用船将这三样东西运至对岸,然而,这艘船的空间有限,只容得下他自己和另外一样东西。若他不在场的话,狼就会去吃羊,羊就会去吃菜,问此人如何才能把这三个乘客都送至对岸?

谜题2:手套选择

问题描述:在抽屉里有20只手套,其中5双黑手套,3双棕手套和两双灰色手套。你只能在黑暗中挑手套,并且只有将手套挑出之后才能检查其颜色。至少要挑几次才能满足以下条件:

         (a)至少挑出一双颜色匹配的手套

         (b)所有颜色的手套都至少挑出一双匹配的

谜题3:矩形分割

找出所有将一个矩形分成n个直角三角形的方法(n>1)。并将这种切割的方法总结成一个算法

谜题4:士兵摆渡

25个士兵组成的小分队需要渡河,可是河水宽且深,周围也看不见桥,他们发现河岸边有一个小船,两个十二岁男孩正在上面玩耍。船很小,仅能承载两个男孩或一个士兵的重量。士兵应该怎么样过河?在你用的算法中,船从一个岸边到另一个岸边来回共计几次?

谜题5:行列变换

怎样才能将下图中左边的数字阵列(4x4)转换成右边(4x4)的样子?要求只能对阵列进行行交换和列交换

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

12

10

11

9

16

14

5

13

8

6

7

15

4

2

3

1

                  

                                                                          

 

 



提示:(答案见下期博客)

1.      思考每一种实际场景下唯一可以渡河的物品,以此来解答该谜题

2.      想象存在一个坏心肠的对手,让你在得到所需之前不得不挑出最多数目的手套。注意,手套不是袜子,有左右之分

3.      切出的三角形不需要是相同尺寸的

4.      先解决只有一个士兵摆渡的情况

5.      答案是‘不能’,思考其原因

 


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值