问题
设有3个修道士和3个野人来到河边,打算用一条船从河的左岸渡到河的右岸。
但该船每次只能装载2个人,在任何岸边野人的数目都不得超过修道士的人数,否则修道士就会被野人吃掉。
假设野人服从任何一种过河安排,如何规划过河计划才能把所有人安全地渡过河去?
用状态空间表示法表示修道士和野人的问题,画出状态空间图。
使用深度优先搜索,得出部分解:
问题:为什么将状态空间的约束条件定为 m=3或m=0或m=n?
题目要求在任何情况下修道士的人数都不能小于野人的人数,一共有三种情况:
1. 左边全野人,右边全修道士,此时m=0
2. 左边全修道士,右边全野人,此时m=3
3. 左右两边同时都有野人和修道士,此时只能使m=n