睡前偶然看到一道题,本觉得昏昏欲睡应该想不清楚的,居然逻辑蛮清晰的,所以特此整理。
貌似是一道蛮经典的题,作为一个总结吧,其实不难的,不然也不会会在昏昏欲睡的时候想清楚。。
题目:
一个怪物流落到一个小岛上,被N条鳄鱼包围,这些鳄鱼饿的发慌且体力相同,任何一条鳄鱼吃掉了怪物,就会耗尽体力,结果会被其他鳄鱼吃掉,并且,吃掉了鳄鱼的鳄鱼也会被剩下的鳄鱼吃掉,以此类推。问:这个怪物安全吗?
思路:
如果是1条鳄鱼,怪物不安全,它没有理由不被吃掉哇;
如果是2条鳄鱼,怪物安全,若A吃了怪物,则B会把A吃掉,同理,若B吃了怪物,则A会把B吃掉,所以AB都不会吃怪物;
如果是3条鳄鱼,怪物不安全,假设A吃了怪物,则若B吃了A,B会被C吃掉,所以B不会吃A,同理C也不会吃A,所以,吃了怪物的鳄鱼是安全的,也就是怪物是不安全的;
如果是4条鳄鱼,怪物安全,因为如果A吃了怪物,A会被B吃掉,因为这时CD都不会吃B,否则自己会被吃掉,所以A不会吃怪物;
如果是5条鳄鱼,怪物不安全,因为A吃了怪物,BCDE都不会吃A……
所以吧,奇数条鳄鱼,怪物不安全,偶数条鳄鱼,怪物安全。
其实吧,奇数条的时候,一条鳄鱼吃了怪物,就相当于这条鳄鱼变成了怪物,剩下偶数条鳄鱼,安全状态变为不安全状态,同理,不安全状态也是变一步到安全状态。
题外话,而且吧,要么只有一条鳄鱼吃了怪物,要么没有鳄鱼吃怪物,所以不会出现刚看到题的时候脑子里浮现出的 一条鳄鱼吃了一条鳄鱼,然后再被另一条鳄鱼吃掉,最后有一条吃了非常多鳄鱼而消化不良了的鳄鱼 的画面…这句有点绕…
好了,所以说,这种题还是从简单出发递推的想比较好,不然直接N条谁晓得谁会吃了谁…
睡觉咯~_~