LINUX.ORG.RU
ФорумTalks

Помогите понять принцип решения задачи


1

1

Доброго времени суток! Есть задача и нет идеи как её решать. Гуглом пользовался, но получить внятного алгоритма так и не смог. Собственно, сама задача:

В крупном международном аэропорту во время пересадки встретились четверо туристов – Герман, Роман, Франк, и Свен. Их фамилии – Фишер, Нагель, Миллер и Шепард. Каждый из них путешествует из одной страны (Германия, Румыния, Франция, Швеция) в другую (Германия, Румыния, Франция, Швеция). Место отправления и место назначения каждого не совпадает с его именем. Определите, кого как зовут, откуда и куда они направляются. Известно, что:

1) Роман приехал не из Франции.

2) Герман направляется в страну, откуда приехал Фишер.

3) Свен приехал из страны, куда направляется Нагель.

4) Шепард приехал из страны, чье название совпадает с именем человека, который направляется во Францию.

5) Миллер направляется в страну, чье название совпадает с именем человека, который приехал оттуда, куда собрался Роман.

Заранее спасибо за помощь!


Ответ на: комментарий от abraziv_whiskey

Вообще, погугли книжки «В царстве смекалки» и что дальше еще найдешь.

abraziv_whiskey ★★★★★
()

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

Alve ★★★★★
()
Ответ на: комментарий от abraziv_whiskey

По п. 1 очевидно, что Роман едет из Германии в Швецию или обратно.

Ни фига. Он приехал не из Франции, но во Францию он может приехать.

Vovka-Korovka ★★★★★
()

Гугли «задача Эйнштейна». И да, ты попал в 98%.

redgremlin ★★★★★
()
Ответ на: комментарий от Vovka-Korovka

Может, ага. Но в процессе рисования по решению это вылезет.

abraziv_whiskey ★★★★★
()

наверное, нужно перебрать все возможные варианты с учетом ограничений

Harald ★★★★★
()

Это упрощённый вариант задачи Эйнштейна? Стыдно такое спрашивать.

GotF ★★★★★
()
Ответ на: комментарий от Miguel

Достаточно выписать варианты направлений и позачёркивать те, что не подходят. Если этого будет недостаточно, сделать предположение касательно одного из путешественников, проверить, возможна ли такая комбинация. Исходя из того, что это просто задача, такой вариант будет единственным.

Sadler ★★★
()

Герман Нагель Швеция -> Франция
Роман Шепард Германия -> Швеция
Свен Фишер Франция -> Румыния
Франк Миллер Румыния -> Германия

redgremlin ★★★★★
()

Мда. Про задачу Эйнштейна уже сказали. Добавлю еще, что существует масса готовых алгоритмов для решения подобных задач. Где-то даже встречал разбор подобного алгоритма в качестве учебного примера в книжке по программированию.

delete83 ★★
()

$ sudo qsearch einstein
games-puzzle/einstein A puzzle game inspired by Albert Einstein

the_mozart
()

В sicp, ЕМНИП, было решение подобной задачи с помощью логического программирования.

encyrtid ★★★★★
()

Наверное, это решается через графы.

max_udoff
()

Решение ищется методом последовательного исключения. Можно ещё погуглить задачу Эйнштейна.

Jurik_Phys ★★★★★
()
Ответ на: комментарий от nexfwall

Скорее у школьников.

Самое простое решение - нарисовать табличку и в ячейки ставить тру/фолс постепенно расковыривая условия.

Kalashnikov ★★★
()
Ответ на: комментарий от Solace

В таком случае, это - плохой студент.

Это да, выдает целую тучу ответов только на запрос «В крупном международном аэропорту во время пересадки встретились четверо туристов – Герман, Роман, Франк, и Свен.».

nexfwall ★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.