精明的猎人VS精明的狐狸
Google有一道面试题是这样的,有一条直线上的五个洞口,有一只狐狸躲在其中一个洞内,白天的时候狐狸不会动,晚上的时候,狐狸一定从它所在的洞,跳到相邻的洞。而你作为一个猎手,只能够在白天的时候,能且只能检查一个洞,如果狐狸在这个洞里,那你抓住了狐狸,反之得等下一个白天再继续检查。
请设计一个检查方法,确保能够在若干天后抓住这只狐狸。
以下是思路:
五个洞编号1,2,3,4,5。狐狸每天所在的洞有如下规律:
.......奇数洞,偶数洞,奇数洞,偶数洞,奇数洞,偶数洞,奇数洞,偶数洞.......
也就是相间隔一天的那些天,狐狸总是都在奇数洞或者都在偶数洞。
先假设狐狸在偶数洞里:
第一个白天:检查洞2,发现自然就赢了,没发现,那么意味着狐狸必然在洞4。
第二个白天::检查洞3,如果不在,那么意味着此时狐狸必然在洞5。
第三个白天:检查洞4,如果没发现狐狸,意味着第一个白天,狐狸必然不在偶数洞里。
如果最初的假设是错的,狐狸第一天不在偶数洞里,那就必然在奇数洞里,第二天就是偶数洞,第三天就是奇数洞,第四天就是偶数洞。
第四个白天:检查洞4,如果没抓住,那么狐狸必然在洞2。
第五个白天:检查洞3,如果没抓住,狐狸此时必然去了洞1。
第六个白天:检查洞2,必然抓住了狐狸。
所以,再狡猾的狐狸,在精明的猎手面前,最多只能逃6天。
答案:234432