问题 5507 --农夫和小船

5507: 农夫和小船★★

时间限制: 1 Sec  内存限制: 128 MB
提交: 108  解决: 48
[提交][状态][命题人:]

题目描述

农夫带着白菜,羊,狼希望从河的南岸到达河的北岸,唯一的工具是一条小船,并且只有农夫会划船,一次最多只能带一样东西到对岸,请问,农夫要怎么样才能带他的东西过河呢?其中,所携带的东西中如果羊和白菜单独在一起,羊将吃掉白菜;羊和狼单独在一起,狼将吃掉羊。

输入

给出一个十进制数,代表农民白菜羊狼四者的状态,转为2进制后,0代表在南岸,1代表在北岸。

比如十进制数0对应的二进制数为 0000,表示四者都在南岸,十进制数15对应的二进制数为1111表示四者都在北岸,又比如十进制数10对应的二进制数为1010表示农民和羊在北岸,而白菜和狼在南岸。

输出

能否到达北岸

能返回农夫要过河几次,如果不能,返回impossible.

样例输入
Copy
0
样例输出
Copy
7

提示

输入0代表四者都在南岸

第一次农夫带羊过河

第二次农夫一个人回来

第三次农夫带白菜过河

第四次农夫带羊回来

第五次农夫带狼过河

第六次农夫一个人回来

第七次农夫带羊过河

来源

[提交][状态]