Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программирование и базы данных (http://forum.oszone.net/forumdisplay.php?f=21)
-   -   Непонятная задачка (http://forum.oszone.net/showthread.php?t=93104)

Gamover jr 30-10-2007 01:38 669474

Непонятная задачка
 
Вложений: 1
Нужно логически решить задачку про шпионов.
Ввообще не знаю как подступиться.

XPEHOMETP 30-10-2007 16:06 669776

Элементарно, Ватсон! Что требуют в первую очередь? Выразить ответы дипломатов в символьном виде. Это раз плюнуть:

Ответ дипломата A: C == spy
Ответ дипломата B: B /= spy
Ответ дипломата C: C /= spy
Ответ дипломата D: A == spy

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

Теперь составляем таблицу с предположениями, кто там из дипломатов "spy", и логическими переменными, характеризующими правдивость ответов дипломатов при любом раскладе. Формализация предположений уже задана: "Let A", "Let B" и так далее. Получаем что-то вроде:

Код:

-------- | Let A | Let B | Let C | Let D |
---------|-------|-------|-------|-------|
C == spy | false | false | true  | false |
B /= spy | true  | false | true  | true  |
C /= spy | true  | true  | false | true  |
A == spy | true  | false | false | false |

Ну и, соответственно, ищутся нужные варианты: если соврал только один, то должно быть 3 true и 1 false, и т. д.

Gamover jr 30-10-2007 20:10 669916

Не догоняю.
Почему столбцы в алфавитном порядке, а строки в обратном?

XPEHOMETP 30-10-2007 20:34 669929

Строки - это ответы дипломатов, от А до D. Дипломаты в алфавитном порядке, но не указаны. Можно и указать для доходчивости.

Gamover jr 30-10-2007 21:20 669952

Теперьт я понял, что за таблица.
А как выяснить кто шпион в случае а) или b) ?

XPEHOMETP 31-10-2007 15:15 670349

Ну елы-палы, кто картинку с условием прикреплял???? (Хотел написать русским, но там) английским языком же спрашивают: кто шпион, если - далее всего 2 варианта:

1. Всего один дипломат солгал;
2. Только один дипломат сказал правду.

Оба варианта без проблем находятся по таблице. Т.е. надо смотреть, в какой колонке только один false или только один true. Соответственно, шпиёнами будут А и В.

Надо же, оказывается, даже дипломаты иногда не врут!!!

Gamover jr 31-10-2007 19:34 670508

Почему А ?
Во втором варианте надо искать строчку с одним true? Таких строчек две.

Diseased Head 31-10-2007 19:52 670516

Gamover jr, не строки, а столбцы!..

Gamover jr 31-10-2007 21:44 670561

Просто скажите почему в одном случае А, в другом В.
Начинаю ответ применять к условию и не клеится, получается ещё кто-то шпиён.

XPEHOMETP 31-10-2007 22:09 670577

Cтроки в таблице - это ответы дипломатов. Столбцы показывают истинность или ложность этих ответов в предположении, что такой-то дипломат - шпион. Например, в столбце Let A истинность ответов дипломатов оценивается с позиции предположения, что шпион - это А. Получается один ложный ответ и три истинных - а это как раз один из искомых вариантов. Поэтому дипломат А - шпион при условии, что только один дипломат солгал. Ну, и так далее.


Время: 14:57.

Время: 14:57.
© OSzone.net 2001-