2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




 
 Вроде бы простая алгоритмическая задача
Сообщение07.07.2014, 21:58 
В социальной сети зарегистрировано $n$ человек. Каждый участник может подписываться на сообщения других участников, причем если человек $A$ подписан на $B$, то из этого не следует, что $B$ подписан на $A$. Известно, что среди зарегистрированных пользователей есть знаменитость - человек, на которого подписаны все $n-1$ других пользователей, но сам он не подписан ни на кого. При помощи одного запроса к серверу вы можете определить, подписан ли человек $A$ на сообщения человека $B$. Предложите алгоритм, позволяющий найти знаменитость за не более чем $n$ запросов к серверу.

Что такое почитать, чтобы решать такую и подобные задачи?

 
 
 
 Re: Вроде бы простая алгоритмическая задача
Сообщение07.07.2014, 22:22 
Для начала определите, какую информацию можно извлечь разных вариантов ответов на запрос при отсутствии другой информации.

 
 
 
 Re: Вроде бы простая алгоритмическая задача
Сообщение07.07.2014, 22:33 
Аватара пользователя
MAnt
Задачка простая на внимательность и умение логически мыслить.

 
 
 
 Re: Вроде бы простая алгоритмическая задача
Сообщение07.07.2014, 22:46 
venco
если $A$ подписан на $B$, то $A$ не знаменитость.
если $A$ не подписан на $B$, то $B$ не знаменитость.
Понятно, вычеркиваем одного человека. За $n$ запросов вычеркнем $n$ человек. Спасибо :oops:

А какие есть доступные книги по графам?

 
 
 
 Re: Вроде бы простая алгоритмическая задача
Сообщение08.07.2014, 16:13 
Доступное - это что-то вроде "Введения в дискретную математику".

 
 
 
 Re: Вроде бы простая алгоритмическая задача
Сообщение08.07.2014, 19:16 
Аватара пользователя
MAnt
Вы решили неправильно. Ещё раз внимательно посмотрите на условие задачи. И посмотрите на то что вы написали. Каким условием вы не воспользовались из условия?

Что касается графов то "Программирование в алгоритмах" Автор: С. Окулов

 
 
 
 Re: Вроде бы простая алгоритмическая задача
Сообщение08.07.2014, 19:38 
А мне кажется, что решение правильное.

 
 
 
 Re: Вроде бы простая алгоритмическая задача
Сообщение08.07.2014, 19:40 
Аватара пользователя
venco
Да точно. Неправильно прочитал. Бывает.

 
 
 
 Re: Вроде бы простая алгоритмическая задача
Сообщение16.01.2015, 05:09 
Можно ещё Райгородского почитать, хотя там больше комбинаторики. Книга называется "Комбинаторика и теория вероятности", но таких у него может быть больше одной. Та, про которую я говорю, тонкая (страниц 100), и в ней графам отведено примерно 20 страниц.

 
 
 
 Re: Вроде бы простая алгоритмическая задача
Сообщение16.01.2015, 19:52 

(Оффтоп)

MAnt в сообщении #885097 писал(а):
При помощи одного запроса к серверу вы можете определить, подписан ли человек $A$ на сообщения человека $B$.
Главное, чтобы в реальной системе такого не было — и серверу обычно проще (имею в виду, меньше оверхеда) выдать, например, всех, на кого подписался $A$, а не только одну проверку, и передаваться маленькие повторные запросы-ответы, наверно, немного дольше будут, ну и в самом клиенте тоже может быть чуть проще.

К задаче это, конечно, никаким боком — хотя у неё могла бы быть и другая формулировка, не вызывающая такие ассоциации. :lol:

 
 
 [ Сообщений: 10 ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group