vak: (Default)
[personal profile] vak
Купил сборник алгоритмических головоломок, штудирую, получаю удовольствие. Вот задачка, к примеру: найти знаменитость на вечеринке. Определим знаменитость как персону, которую все знают, но она не знает никого. Представьте, что вы попали на тусовку, и вам надо найти среди присутствующих эту знаменитость. Вы можете задавать люди вопрос: "Знаете ли вы этого человека?", и показывать на кого-нибудь. Как организовать эффективный поиск?

Оказывается, есть простой алгоритм.

1. Составляете список всех присутствующих, среди них есть и искомая знаменитость.

2. Подходите к кому-нибудь (обозначим его A) и спрашиваете, знает ли он соседа (обозначим его B). Он отвечает либо да, либо нет. Если да - вычёркиваете A из списка. Если нет - вычёркиваете B из списка.

3. Смотрите, сколько народу осталось в списке. Если два или больше - повторяете действие 2.

4. В списке остался один человек - это и есть знаменитость.

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

This account has disabled anonymous posting.
If you don't have an account you can create one now.
HTML doesn't work in the subject.
More info about formatting

If you are unable to use this captcha for any reason, please contact us by email at support@dreamwidth.org