【玩味】警察抓逃犯

这是在看《暗时间》的时候看到的题目。顺带推荐下此书,尤其是第三部分,教如何思考解决问题的。反正我觉得是比记住“进程之间的通信方法”有用得多。


题目:一个国家有N个岛(岛国人你好。。),有些岛之间有桥联通。保证任意2岛可达(不一定直接达),有一个警察和一个逃犯。每天他们都能走过一座桥,或者待在原地。警察每天可以知道逃犯的位置,而且逃犯很迷信,每个月的13号一定待在原地。 请证明警察一定可以抓到逃犯。


思路:“迷信”这个条件貌似非常重要,尝试着去掉这个条件,看看有什么区别——考虑极端的情况(找个圈,然后2个人绕圈跑),发现无法保证一定抓到逃犯。

那么,我们发现,“迷信”条件确实很重要。

假设警察和逃犯初始距离是K个岛,既然警察每天都能知道逃犯前一天的位置。那么他可以每天都先算个最短路,然后往逃犯的方向前进,如果逃犯远离,那么保持距离K,如果逃犯走错路,那么距离会缩小。(没有迷信条件的话,极端情况是一直保持距离K),那么加上迷信条件我们发现,每个月的13号,警察肯定可以将他们之间的距离缩小1, 那么最坏的情况下,K个月之后可以抓住逃犯。证明完毕。


这就是一个思维方法,把已知条件抹去,试试看有什么差别,从而提示自己这个已知条件有什么用。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章