Решаване на проблеми за развиване на логическо мислене
Здравейте,
Споделям този пост с надеждата, че повече хора ще имат желанието, да развиват своето логическо мислене, чрез решаване на проблеми. Доброто логическо мислене - качество, което според мен, отличава успешният програмист от рутинният.
Ето и първият проблем : "How to cross the river ?"
A farmer with a fox, a goose, and a sack of corn needs to cross a river. The farmer has a rowboat, but there is room for only the farmer and one of his three items. Unfortunately, both the fox and the goose are hungry. The fox cannot be left alone with the goose, or the fox will eat the goose. Likewise, the goose cannot be left alone with the sack of corn, or the goose will eat the corn. How does the farmer get everything across the river ?
- източник на проблема - книга "Think like a Programmer"
http://www.wowebook.com/book/think-like-a-programmer/
За тези от вас, които са срещали този проблем, решили са го, и вече не им е интересен, моля споделете някой друг от вашият опит.
Ето и решението:
1. Полицаят и бандита.
2. Оставяш бандита сам и се връщаш с полицаят.
3. Взимаш полицаят и едно момче(или момиче няма значение, но аз го направих с момче).
4. Оставяш момчета и се връщаш с полицаят и бандита.
5. Взимаш бащата и едно момче.
6. Оставяш едното момче и се връщаш с бащата.
7. Взимаш майката и бащата.
8. Оставяш бащата и се връщаш с майката.
9. Взимаш полицаят и бандита и ги оставяш двамата.
10. Връщаш се само с бащата
11. Взимаш майката и бащата и оставяш бащата.
12. Връщаш се само с майката
13. Взимаш майката и едното момиче и ги оставяш и двете.
14. Връщаш се с полицаят и бандита.
15. Взимаш полицаят и последното момиче.
16. Оставяш ги двамата и се връщаш само с полицаят за да си прибера бандита :)
Съжалям, но по-просто неможах да го бясна.
Пробвайте го и кажете дали работи :)
Браво! Работи :) Добре, че престъпника е послушен и не избягва, след като е оставен сам на някой бряг.
Накрая всички са много щастливи, че са на отсрещният бряг. :)))