Posted on

Write a Lisp program that generates a list containing all legal successor states for any state in

Write a Lisp program that generates a list containing all legal successor states for any state in the Missionaries and Cannibals problem. Your program should be invoked by the function call: (mac-next state) where state is of the form (m,n,b), with m representing the number of missionaries (0-3) on the left bank, n representing the number of cannibals (0-3) on the left bank, and b representing whether the boat is on the right side (r) or the left side (I) of the river. For example: (mac-next (33I)) => ((22r) (32r) (31r)) (mac-next (31r)) => ((32I) (33l)) (mac-next (33r)) => nil Your function should check whether the inputted state is in the proper format. If not, an error message should be displayed instead of the list of successor states.

Write a Lisp program that generates a list containing all legal successor states for any state in the Missionaries and Cannibals problem. Your program should be invoked by the function call: (mac-next state) where state is of the form (m,n,b), with m representing the number of missionaries (0-3) on the left bank, n representing the number of cannibals (0-3) on the left bank, and b representing whether the boat is on the right side (r) or the left side (I) of the river. For example: (mac-next (3

Read More