Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 2005.02.13;
Скачать: [xml.tar.bz2];

Вниз

Задачка про визирей   Найти похожие ветки 

 
jack128 ©   (2005-01-23 17:49) [0]

Падишах решил, что у него слишком много визирей. Позвал их и говорит - решил я от части визирей избавиться. Завтра утром вас выстроят в очередь затылок в затылок и наденут каждому по колпаку. Часть колпаков будет чёрная, часть белая (сколько каких неизвестно). Каждый будет видеть колпаки впереди стоящих, но не будет видеть свой колпак и колпаки позади себя. Дальше, начиная с конца очереди каждый назовёт цвет. Если назовёт цвет своего колпака - останется визирем, если не угадает - потеряет голову.
Но визири за ночь придумали способ, при котором погибнет максимум один визирь.

PS: Если один визирь говорит, все остальные слышат.
PS2: Затылок в затылок - значит лицом к затылку впереди стоящего.


 
Antonn ©   (2005-01-23 17:52) [1]

jack128 ©   (23.01.05 17:49)
первый назовет цвет полпака второго(второй услышит), и, возможно, не угадает свой. Аминь.


 
Antonn ©   (2005-01-23 17:53) [2]

в догонку: и так далее :)


 
jack128 ©   (2005-01-23 18:00) [3]

Antonn ©   (23.01.05 17:53) [2]
в догонку: и так далее :)

Куда далее? Допустим у первого черный калпак, у второго белый, у третьего черный. Первый говорит "белый калпак" и отдает богу душу.  А что должен сказать второой, чтобы и самому выжить и третьего не похоронить? ;-)


 
KilkennyCat ©   (2005-01-23 18:04) [4]

они играли интонациями. Говорящий говорит радостно: белый! это означает, что впереди него - два белых. Если говорит грустно... белый... значит, впереди - белый, черный.


 
KilkennyCat ©   (2005-01-23 18:07) [5]

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


 
Kerk ©   (2005-01-23 18:08) [6]

Если колпаки следующих двух совпадают, первый говорит - "белый колпак", иначе - "черный". Затем, следующий видя колпак впереди называет свой. И третий тоже. :)


 
Antonn ©   (2005-01-23 18:10) [7]

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


 
KilkennyCat ©   (2005-01-23 18:10) [8]


> Kerk ©   (23.01.05 18:08) [6]


а четвертый?


 
Kerk ©   (2005-01-23 18:17) [9]

Первый смотрит каких колпаков больше и, если колпак следующего принадлежит к большей группе, говорим - "белый", иначе - "черный". А дальше включается теорвер. :)


 
KilkennyCat ©   (2005-01-23 18:20) [10]

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

"падишах, ты:
сволочь, добрый, урод, красивый, приятный..." и т.д. положительное определение - белый, отрицательное - черный.


 
jack128 ©   (2005-01-23 18:20) [11]

KilkennyCat ©   (23.01.05 18:07) [5]
хе, у мя  тоже такая мысль была. Нет, не интанациями, ни чем другим дополнительную информацию передовать нельзя.


 
Zeqfreed ©   (2005-01-23 18:21) [12]

6
5
4
3
2
1

2-ый скажет "белый" если колпаки 2-ого и 4-ого одинаковы. 2-ой и 3-тий теперь знают какой у 2-ого колпак. Дальше если 1-ый сказал "белый" и у 4-ого белый колпак то *совпадение* будет "белым", а *несовпадение* - "черным", если же у 4-ого черный, то *совпадение* - "черный", а *несовпадение* - белый. Теперь 3-ий знает, что значат "белый" и "черный" в словах 2-ого. Теперь второй смотрит, если колпаки 3-его и 5-ого одинаковы, он говорит *совпадение*, иначе *не совпадение*.  И так далее.

Вроде объяснил не очень понятно, но разобраться наверно можно )


 
default ©   (2005-01-23 18:22) [13]

jack128 ©   (23.01.05 17:49)
тривиальность
последний, к примеру, называет(уславливаются об этом заранее)
белый цвет если число белых колпаков чётно и чёрный если нечётно
он всё равно не знает свой цвет
следующий по погибели/выживанию определяет истинную чётность белых колпаков и зная общее количество визирей определяет число красных колпаков
по тому что он видит впереди и слышал сзади и зная чётность белых шаров каждый точно определяет свой цвет


 
Zeqfreed ©   (2005-01-23 18:23) [14]

В самом начале "1-ый скажет...".. опечаточка


 
Kerk ©   (2005-01-23 18:23) [15]

Zeqfreed ©   (23.01.05 18:21) [12]

так много народу поубивают, надо убить одного.


 
Kerk ©   (2005-01-23 18:24) [16]


> белый цвет если число белых колпаков чётно и чёрный
> если нечётно


Блин! Ну я почти догадался.. :))) см [9]
Жаль...


 
Zeqfreed ©   (2005-01-23 18:25) [17]

число красных колпаков
чётность белых шаров
Че-то я даже слов не могу подобрать )
Это ты вообще откуда взял?


 
Antonn ©   (2005-01-23 18:25) [18]


> к много народу поубивают, надо убить одного.

падишаха


 
Kerk ©   (2005-01-23 18:25) [19]

Zeqfreed ©   (23.01.05 18:25) [17]

ЛОЛ !!! :)


 
Zeqfreed ©   (2005-01-23 18:26) [20]

Kerk ©   (23.01.05 18:23) [15]
Не, по моим рассчетом только одного убьют... может я объяснил коряво, ну или ошибся.


 
jack128 ©   (2005-01-23 18:28) [21]

default ©   (23.01.05 18:22) [13]
тривиальность


Ну куда нам до вас, до великих :-)
Я залез в булеву алгебру и через неё вывел эквивалентное решение..


 
default ©   (2005-01-23 18:29) [22]

jack128 ©   (23.01.05 18:28) [21]
не просто после той пятничной задачки эта уже...


 
Zeqfreed ©   (2005-01-23 18:31) [23]

А все-таки про белые шары и красные колпаки мне объясните, тупому?


 
default ©   (2005-01-23 18:31) [24]

Zeqfreed ©   (23.01.05 18:25) [17]
теорвером клинит...гы


 
jack128 ©   (2005-01-23 18:32) [25]

Zeqfreed ©   (23.01.05 18:21) [12]
второй смотрит, если колпаки 3-его и 5-ого одинаковы, он говорит *совпадение*, иначе *не совпадение*.

второй не может говорить *совпадение* или *не совпадение*. Он ДОЛЖЕН сказать цвет своего колпака

default ©   (23.01.05 18:29) [22]
не просто после той пятничной задачки эта уже...

А-а. А я что то пропустил эту задачку..


 
default ©   (2005-01-23 18:35) [26]

jack128 ©   (23.01.05 18:32) [25]
там посмотри ещё нерешённая осталась с сортировкой того же порядка вроде
отсортировать за время O(N) массив содержащий какую-то перестановку целых чисел 0..N-1
точнее можно в ветке которая щас где-то внизу посмотреть


 
Zeqfreed ©   (2005-01-23 18:35) [27]

jack128 ©   (23.01.05 18:32) [25]
ДА! Он скажет цвет СВОЕГО колпака, а следующий за ним будет расценивать его как *совпадение* или *не совпадение*


 
KilkennyCat ©   (2005-01-23 18:37) [28]


> default ©   (23.01.05 18:35) [26]


ты же вроде решил ее? я даже собирался вникнуть..


 
default ©   (2005-01-23 18:38) [29]

вот
1. Дан массив, содержащий некоторую перестановку чисел 0.. N-1
Отсортировать его за О(N) операций и с O(1) доп. памяти.

решение типа for i := 0 to High(DynArray) do DynArray[i] := i не подходит надо в массиве переставлять как-то


 
default ©   (2005-01-23 18:38) [30]

KilkennyCat ©   (23.01.05 18:37) [28]
да и MBo тоже, интересно было бы его решение посмотреть


 
jack128 ©   (2005-01-23 18:53) [31]

default ©   (23.01.05 18:38) [29]
А линк не дашь на эти задачки?? Что то поиск молчит..

Zeqfreed ©   (23.01.05 18:35) [27]
ДА! Он скажет цвет СВОЕГО колпака, а следующий за ним будет расценивать его как *совпадение* или *не совпадение

Ты не понимаешь. Вот, например, у второго - белый колпак, а у 3-его и пятого они разного цвета, что второй должен говорить??


 
KilkennyCat ©   (2005-01-23 19:02) [32]

и все-таки, использование дополнительной информации более экономично :)

А вот если усложнить задачу, добавив возможность ошибки:
Предположим, что где-то в середине один из визирей хватается за сердце (прибегает придворный лекарь, вау-вау, разряд, еще разряд! мы теряем его! ом-мани-падме-хум...) и не успевает сказать ни слова. Будет ли прерван (искажен)поток информации, и если да, то как надо сделать, чтобы не исказился?


 
Zeqfreed ©   (2005-01-23 19:23) [33]

jack128 ©   (23.01.05 18:53) [31]

Блин, вроде получалось, когда до этого считал... ну да ладно, кажись ошибся )


 
SergP ©   (2005-01-23 20:09) [34]

В принципе самый первый визирь (тот что в конце очереди) может сказать не цвет своего колпака, а например количество белых колпаков которые он видит. Все остальные теперь смогут правильно назвать свои цвета.

Проблема только в том что я не знаю не противоречит ли это условию задачи.


 
SergP ©   (2005-01-23 20:16) [35]


> [13] default ©   (23.01.05 18:22)


Хм.. Только что заметил что уже решено... Извиняюсь...


 
default ©   (2005-01-23 20:16) [36]

jack128 ©   (23.01.05 18:53) [31]
http://delphimaster.net/view/14-1106272166/
ну это не первоисточник где была та задача, тот, наверно, сабж ушёл в архив
SergP ©   (23.01.05 20:09) [34]
в условии только про цвет сказано


 
default ©   (2005-01-23 20:18) [37]

SergP ©   (23.01.05 20:16) [35]
задача [29] не решена


 
default ©   (2005-01-23 20:24) [38]

KilkennyCat ©   (23.01.05 19:02) [32]
исказится
ситуация будет как в начале
придётся следующему за тем кого шибануло указывать чётность белых шаров(ну или нечётность и не обязательно белых...)


 
KilkennyCat ©   (2005-01-23 20:27) [39]


> default ©   (23.01.05 20:24) [38]

да, но он ведь слышал всю предыдущую информацию. Можно ли высчитать вероятность восстановления (угадывания) информации, или она все-таки становится нулевой?


 
default ©   (2005-01-23 20:31) [40]

KilkennyCat ©   (23.01.05 20:27) [39]
да, но тот "нестабильный элемент" оборвал цепь
и всё начинается заново
шансы же следующего за нестабильным - 50/50
кстати мне почему-то кажется тут ещё может какие-то решения есть...



Страницы: 1 2 3 вся ветка

Форум: "Потрепаться";
Текущий архив: 2005.02.13;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.59 MB
Время: 0.039 c
3-1105441655
Dr. Andrey
2005-01-11 14:07
2005.02.13
Из mdb в dbf


4-1104059945
pomashok
2004-12-26 14:19
2005.02.13
управление громкостью


1-1107021500
rolex
2005-01-29 20:58
2005.02.13
Вопросы по SHBrowseForFolder


14-1106244642
netnetnetnet
2005-01-20 21:10
2005.02.13
Физика


3-1105685586
Orc
2005-01-14 09:53
2005.02.13
Проблема с select из dbf





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский