Автор: Админка

Как переправить на другой берег волка козу и капусту чтобы все были целы


Волк, коза и капуста. Загадка на логику.

Эта известная головоломка есть в народном творчестве таких стран, как Италия, Румыния, Эфиопия и Зимбабве. Существует не одна ее вариация: с лисой, курицей и хлебом или с пантерой, свиньей и кашей! А Ты знаешь, как решать задачу о переправе?

14 91 т.

Итак, представь, что Ты — фермер, у которого есть маленькая лодка. С одного берега реки на другой Тебе необходимо перевезти волка, козу и капусту. Всех вместе взять нельзя — нужно переправлять каждого «пассажира» по отдельности. Но имей в виду, что когда Ты повезешь на другой берег капусту, в это время волк съест козу. А если решишь везти волка — коза скушает капусту.

Что же делать? Хорошенько поразмысли. Рейсов можно делать сколько угодно — главное, чтобы все оставалось целым и невредимым.

Ну как, удалось решить эту нелегкую задачку? Все еще нет? Ну ладно, дам одну подсказку: переправлять «пассажира» можно не только туда, но и назад!

Что же — думаю, теперь Тебе удалось перевезти всех целыми и невредимыми! Посмотри на решение задачи и проверь, все ли сходится.

  1. Сначала нужно перевезти козу, оставив волка с капустой.
  2. Теперь возвращаемся и забираем волка. Но оставлять волка с козой на новом берегу нельзя.
  3. Поэтому берем козу с собой в лодку, а волк сидит на берегу одинокий и голодный.
  4. Козу оставляем на берегу, а капусту переправляем к волку.
  5. Возвращаемся назад и забираем козу.

Кстати, это не единственный вариант решения задачи. Вот еще один:

  1. Везем козу туда.
  2. Возвращаемся обратно.
  3. Везем капусту туда.
  4. Забираем козу назад.
  5. Везем волка туда.
  6. Возвращаемся за козой.
  7. Перевозим козу туда.

Готово!

А теперь признавайся, удалось ли Тебе самостоятельно дойти до правильного решения, и если да — то каким способом? ;)

Еще больше отборных загадок найдешь тут:

Заметили орфографическую ошибку? Выделите её мышкой и нажмите Ctrl+Enter

Решение проблемы с волком, козой и капустой (форум Programming Diversions на Coderanch)

Нет, Джим Инст, вам не нужно думать о том, что происходит, когда фермер переходит реку, или о том, что делает лодка; вы просто предполагаете, что лодка находится там, где находится фермер. На самом деле я получил 16 возможных состояний, пронумерованных от 0 до f, где самый старший бит (3-й бит = 8) представляет фермера, 2-й бит = 4 - это волк, 1-й бит = 2 - это гусь, а 0- -й бит (младший бит = 1) представляет собой зерно капусты или что-то еще.

Итак, f означает, что все четверо находятся на этой стороне реки, 0 означает, что все четыре пересеклись, 1 означает, что капуста одна на этой стороне реки, 2 означает, что гусь один на этой стороне реки и т. Д. можно было бы подумать, что это означает, что дополнение числа находится на другой стороне реки, поэтому 0 означает f на другой стороне. Тогда у вас будет инвариант thisSide + thatSide == 0xf.
По эту сторону реки есть три запрещенных штата: 3, 6, 7, где гусь ест капусту, лес - козу, или и то, и другое.Это означает, что на другой стороне есть три запрещенных состояния, 8 9 и c. Мы знаем, что 8 + 7 или 9 + 6 или c + 3 в сумме дают 0xf. Остается в общей сложности 10 разрешенных состояний. За каждым разрешенным состоянием могут следовать 1, 2 или 3 разрешенных состояния-преемника.

Правила таковы, что фермер должен переходить дорогу каждый раз в одиночку или в сопровождении одного предмета. Это эквивалентно побитовой операции XOR 8 9 a или c; если у вас есть переменные thisSide и thatSide, то одна и та же операция должна применяться к обеим сторонам, чтобы сохранить инвариант класса.Также вы удаляете из результатов любое из шести запрещенных состояний.
Вы можете вернуть состояния обратно на английский с помощью побитового И: private final int FARMER = 8, WOLF = 4, GOOSE = 2, CABBAGE = 1; . . . . если (состояние и ФЕРМЕР> 0) outputString + = "фермер"; если (состояние & WOLF> 0) outputString + = "волк"; и т. д.

Затем вы получаете дерево, начинающееся с f, и затем вы выполняете поиск дерева, пока не найдете в нем 0. Для достижения 0 требуется ровно 7 операций, первая из которых - состояние ^ = FARMER + GOOSE;

*********************************************** ***************************
В LISP он читает что-то вроде этого, предполагая, что ваш алгоритм поиска по ширине и оператор -> уже был поставлен: (defparameter * farmer * '((fwgcR wcRfg) (fwgRc wRfgc gRfwc) (fwcRg wcRfg wRfgc cRfwg) (fgcRw gRfwc cRfwg) (fgRwc gRfwc Rfwgc) (wcRfg fwcRg fwgcR) (gRfwc fgRwc fwgRc fwcRg) (cRfwg fwcRg fgcRw) (wRfgc fwgRc fwcRg) (Rfwgc fgRwc))) (defun farmer-lmg (состояние) (-> * фермер * штат)) (width-search 'fwgcR' Rfwgc # 'farmer-lmg) Аббревиатуры (очевидно) означают фермерскую волчью гусиную капусту и РЕКУ; те, кто до R, находятся на этой стороне, а те, что после R, находятся на этой стороне.Бит defun создает генератор легального хода (LMG).
*********************************************** **************************
С предоставленными нами утилитами LISP он работает, но, кажется, всегда дает мне один и тот же ответ . Я думаю, есть 4 возможных решения, но первая операция всегда заключается в том, что фермер переносит гуся, а четвертая операция всегда возвращает гуся.

[править] Незначительные орфографические исправления и значение lmg [/ править]
[30 ноября 2007 г .: Сообщение отредактировал: Кэмпбелл Ричи]

.

Волк, коза и капуста - обучающие игры

Это не только новая игра. Это тоже загадка. Надо сказать, что это очень известная головоломка.
Волк, коза и кочан на берегу реки. Недалеко от них есть лодка. Им нужно переплыть реку и добраться до другого берега реки. Но только один из них может пользоваться лодкой одновременно. Цель головоломки - перенести волка, козу и кочан на другой берег реки, и все они должны быть в безопасности.Это довольно сложно, потому что, если вы оставите волка и козу на одном берегу реки, волк съест козу. Если оставить козу и кочан вместе, коза съест капусту. Это очень интересная логическая головоломка.
Уважаемые родители, не торопитесь и не пытайтесь помочь своим детям! Неплохо, если они не могут сразу ответить на этот вопрос. Головоломка для них не очень сложная. Единственное, что им нужно, - это немного подумать.

.

PPT - У человека есть волк, коза и кочан капусты ...? PowerPoint Presentation

  • У человека есть волк, коза и кочан капусты ...? Однажды человеку пришлось путешествовать с волком, козой и капустой. Он должен был хорошо о них заботиться, так как волк хотел бы попробовать кусок козы, если бы ему представилась такая возможность, в то время как козел, похоже, жаждал вкусной капусты. После некоторого путешествия он внезапно остановился перед рекой. Эту реку можно было пересечь только на небольшой лодке, стоявшей неподалеку у берега.Лодка была достаточно хороша только для того, чтобы перевезти его и одну из его вещей через реку. Два других предмета / объекта ему пришлось оставить самостоятельно. Как должен человек переправляться через реку взад и вперед, чтобы безопасно перебраться вместе со своим багажом на другую сторону реки, не съедая друг друга?

  • Волк Коза и капуста

  • · Есть лодка, достаточно большая, чтобы перевезти человека, и только одну из трех.· Мужчина и его свита желают перейти на правый берег, и мужчина может переправить каждого, по одному за раз. · Однако, если человек оставит без присмотра волка и козу на любом берегу, волк обязательно съест козу.

  • · Аналогичным образом, если коза и капуста оставлены без присмотра, коза съест капусту. · Можно ли перейти реку, не съев козу или капусту? · Проблема моделируется с учетом того, что релевантная информация - это люди, которые занимают каждый берег после перехода, как показано на следующем рисунке:

  • C-Cabbage G-Goat M-Man W-Wolf G MWCG GMCGWCCGWWCWGMG MWCG G

  • C MWCG-WC-MG MWC-G W-MCG MGG MWG-C W G-MWC MG-WC MWCG GM C-капуста G-Goat M-Man W-Wolf

  • .

    Веселый момент, когда человек воссоединяется со своей потерянной собакой, которая затем возвращается с другой собакой и козой

    Возвращение домой: Невероятный момент пропажи Лабрадор возвращается к своим запаникованным владельцам ... с двумя новыми друзьями на буксире (еще одна собака и КОЗА)

    • Черный лабрадор Бо семьи Криер пропал в начале этого месяца
    • На следующий день его владельцы искали свою собаку, когда увидели, что он бежит по кукурузным полям Канзаса
    • Но когда он вернулся, он был не один и подружился с другой собакой и козой
    • Криеры позже узнали оба животных принадлежали ближайшим соседям

    Джеймс Гордон для Dailymail.com

    Опубликовано: | Обновлено:

    Человек, который думал, что его собака потеряна навсегда, почти получил в три раза больше после того, как его питомец вернулся домой в сопровождении еще одной собаки и козы.

    Жена Кайла Криера, Лаура, из Конкордии, штат Канзас, прошлой ночью выпустила семейную собаку из дома в ванную, но он так и не вернулся.

    «Моя жена сказала мне, что у нас во дворе была еще одна белая собака, и Бо улетел и больше не вернется», - написал Кайл в своем сообщении в Интернете.

    Когда жена Кайла Криера выпустила своего черного лабрадора, собака исчезла, но всего через несколько дней его заметили в шести милях от него, играющим на кукурузных полях со своими новыми друзьями. с белым лабрадором и козой, верно, на буксире

    А мы тоже можем? Коза и белый Лабрадор выглядели на этом фото лучше всего.

    Бо выглядит так, как будто он мог бы быть горсткой в ​​этой дерзкой позе - и он явно так себя ведет после нескольких дней блуждания!

    'Мы искали его повсюду и не нашли.Мы решили пойти домой и подождать, пока он вернется, но он так и не вернулся. Я вышел утром искать его и нигде не нашел его ».

    Отказавшись почти от всякой надежды на возвращение своего пушистого друга, представьте, как он удивился, узнав, что его собаку видели везде - но с компанией, примерно в шести милях от дома семьи.

    'Моей жене позвонили, что кто-то вот-вот сбил черную лабораторию, белую лабораторию и козу на дороге. Жена позвонила мне и рассказала новость, и я сразу понял, что это наша собака.Я сразу ушел с работы. Я видел команду на срезанном бобовом поле на восточной стороне шоссе ».

    На видео запечатлен трогательный момент, когда Бо бежит через кукурузное поле Канзаса обратно к своему хозяину.

    Новый друг Бо, белый Лабрадор, забрался внутрь, в то время как коза выглядела нетерпеливой, но осторожной

    Коза робко подошла к пикапу

    Не далеко позади его новые друзья - еще один золотой лабрадор и коза кто, кажется, хочет присоединиться к веселью.

    Бо поднялся по лестнице в багажник своего пикапа, а другая собака следовала за ним.

    Не желая, чтобы его оставили в стороне, коза храбро забралась в кабину автомобиля.

    «Эй, козел, ты тоже хочешь сесть в мой грузовик?» - спросил человек у козла. 'Запрыгивай! Садись сзади. Просто почувствуйте себя как дома, - сказал он, как бы обращаясь к группе детей.

    Все трое новых лучших друзей казались очень счастливыми быть рядом друг с другом, пока они поднимались на

    .

    Смотрите также


    Информация
    Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.



    Понравился рецепт? Подпишись на RSS! Подписаться!