LINUX.ORG.RU
ФорумTalks

Логическая задачка.


0

0

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

На острове живут три племени - П, Л и П/Л, которые отличаются способностью к глубокому логическому мышлению.

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

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

1. Перед вами три аборигена, представляющие племена П, Л и П/Л и готовые отвечать на ваши вопросы,

2. Отвечая, абориген племени П всегда будет говорить правду, племени Л всегда будет лгать, а представитель племени П/Л может либо солгать, либо сказать правду непредсказуемым образом («как монета ляжет»),

3. Ответы аборигенов могут быть даны только одним словом ДА или НЕТ,

4. Условия 2. и 3. являются обязательными и если они не могут быть соблюдены – ответа не последует,

5. Аборигены понимают вас, но отвечать будут каждый на языке своего племени. Это означает, что слова ДА и НЕТ в устах каждого из них будут звучать по-разному,

6. Вы не знаете языков племен,

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

Счаслового возвращения!

1. Ты чо наркоман шоле, сц#$% ?
2. Есть чо ?
3. А если найду ?

phasma ★☆
()

true and false ? true and true ? false and false ? Что то типа того

anonymous
()

а тут вопросы односложные или опять надо что-то типа:
а если рядом стоящий был бы из твоего племени и вдобавок наркоман, а другой спросил бы как пройти на 13 стрит, то тот ответил да или нет?

dimon555 ★★★★★
()

Принцесса или тигр

anonymous
()
Ответ на: комментарий от VIM

> На каком языке фурмулировать вопросы при условии №6 ?

На своём языке.

> 5. Аборигены понимают вас.

Rzhepish
() автор топика

С помощью доброго слова и пистолета можно добиться гораздо большего, чем с помощью доброго слова.

sskirtochenko ★★
()

Слушай да ты отменный баянист. Энциклопедию прочел штоле? Помню у меня когда-то была хрестоматия по математике для 9 класса, так вот в ней описывались все эти задачки.

Tux-oid
()
Ответ на: комментарий от Tux-oid

Ну и читай свою хрестоматию!

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

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

Rzhepish
() автор топика
Ответ на: Ну и читай свою хрестоматию! от Rzhepish

>Читай и дальше свои учебнички, но в реальных условиях, готов поспорить, я решу задачу раньше тебя.
Паря, я не ведусь на такой толлстый троллинг, хотя нет на немножко сахарку, а то ты с голоду сдохнешь.
В реальных условиях эта задачка тебе нах*р не нужна. К тому-же решать на скорость задачки это по меньшей мере глупо, ибо как говорится "Поспешишь компилятор насмешишь". А различного рода учебники читать полезно, каким бы ты ни был гением, но без знаний, ты ничего толкового не добьешься. Так что продолжай учится "Крутой чел".

Tux-oid
()

эх... сожрут меня...
если я не знаю языков племён, то как-то уж всё слишком уныло получается..

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

Ну того кто из П/Л можно вычислить по вопросу, на который он точно не знает ответ (типо: "у меня в кармане лежит 5 рублей?"). Только пл-овец ответит что-либо, остальные промолчат... то есть задав такой вопрос аборигену - узнаём - пл-овец он или нет. А дальше-то что? :)

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

ну если мы наткнулись сразу на пл-овца - то всё хорошо. Задаём второму вопрос, ответ на который ему точно известен и этот ответ "Да". Он нам бормочет в ответ X. И мы его тут же спрашиваем. А если я тебе задам предыдущий вопрос - твой ответ будет X? Если это правдолюб - он скажет X, иначе - что-то другое. А вот как быть, если мы на ПЛ-овца сразу не напрёмся...

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

Если вопрос на который промолчали в ответ не засчитывается, то всё пучком, иначе - как-то вопросов маловато :)

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

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

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

По-моему Вы уже очень близки к решению. Я задавал другие вопросы, но в принципе Ваши даже красивее. Вам осталось совсем чуть-чуть подумать.

Люди, берите пример! Перед вами человек, который думает головой и сам решает задачу.

Rzhepish
() автор топика
Ответ на: комментарий от lv

гы.. а с утра оно вроде как всё просто :)
Изложу подход к решению.
1. Нам нужно определить 2 туземцев (кто есть кто - 3-й методом исключения)
2. У нас на это есть 3 вопроса.
3. Нужно составить такие логические построения, которые бы давали нам ответ верна ли проверяемая информация (тогда достаточно и 2х вопросов) либо давали бы вероятность побочного эффекта (верна or ... / ложна or ...) тогда третий вопрос нужен, чтобы устранить это or.

Навскидку, логические конструкции:

+++++++++++++++++++
(A) or unk
S X
tf->A=F tf->A=T
is a
+++++++++++++++++++
(A) and unk
S X
tf->A=T tf->A=F
is a
+++++++++++++++++++
Где:
A - проверяемое выражение.
unk - выражение, на которое туземец точно не знает ответа.
S - туземец в ответ на вопрос промолчал
X - туземец в ответ что-то сказал
Ниже - выводы из ответа туземца:
tf - туземец из П или Л племени
is a - туземец из ПЛ-племени
->A=F/T - выражение A - ложь/истина

Далее составим вопрос, который нам даст о первом туземце точное представление - является ли он (а) или (tf).

1 < 2a|3a and unk ?
S X
1tf 1a

Дальше всё просто - если 1-a, то второй вопрос скажем второму туземцу с A= (2 is t) мы узнаем точно A это истина или ложь, так как ПЛ-туземца мы уже вычислили и этот or-вариант нами не рассматривается.

Если 1 - tf - тоже всё просто - оставшимися двумя вопросами выясняем - является ли 2!a и является ли 1t

Вроде так :)

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

Возможно логика и подход к решению несколько корявы - хотелось бы увидеть другие варианты (да и вообще способ формализации подобных задач).

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

Форматирование поехало:
+++++++++++++++++++
(A) or unk
S => tf->A=F
X => tf->A=T or is a
+++++++++++++++++++
(A) and unk
S => tf->A=T
X => tf->A=F or is a
+++++++++++++++++++

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