Форум программистов, компьютерный форум CyberForum.ru

Написать программу, реализующую способ передачи книги таким образом, чтобы она переходя от друга к другу побывала в руках у каждого - C++

Восстановить пароль Регистрация
 
VitaliyH
3 / 3 / 0
Регистрация: 05.09.2012
Сообщений: 41
12.03.2014, 00:25     Написать программу, реализующую способ передачи книги таким образом, чтобы она переходя от друга к другу побывала в руках у каждого #1
Помогите вкурить в задание, кому не влом.
Группа состоит из N человек. В ней каждый имеет N/2 друзей и не более К врагов. У одного из них есть книга, которую все хотят прочитать. Написать программу, реализующую способ передачи книги таким образом, чтобы она переходя от друга к другу побывала в руках у каждого не более одного раза и вернулась к владельцу.
Т.е. к примеру наше N = 100, значит у чела с книгой друзей N/2 = 50. Соответственно K врагов = 49. В итоге книга сделает 51 переход?

Верны ли мои суждения? Помогите с алгоритмом.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.03.2014, 00:25     Написать программу, реализующую способ передачи книги таким образом, чтобы она переходя от друга к другу побывала в руках у каждого
Посмотрите здесь:

Преобразовать строку таким образом, чтобы цифры каждого слова были перенесены в начало слова без изменения порядка следования их в слове C++
В матрице M x N переставить строки таким образом, чтобы... C++
C++ Файл: Изменить программу таким образом чтобы ввод исходных данных осуществлялся из файла, результат также должен выводиться в файл
C++ Задача страуструпа: Измените программу так, чтобы она выводила числа, которые почти равны друг другу
C++ Реализовать процедуру таким образом, чтобы она возвращала 2 значения
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
zer0mail
2183 / 1866 / 187
Регистрация: 03.07.2012
Сообщений: 6,633
Записей в блоге: 1
12.03.2014, 00:43     Написать программу, реализующую способ передачи книги таким образом, чтобы она переходя от друга к другу побывала в руках у каждого #2
Имхо, "враг" не означает "не друг".
Жанерке
 Аватар для Жанерке
34 / 34 / 2
Регистрация: 22.09.2013
Сообщений: 170
12.03.2014, 01:01     Написать программу, реализующую способ передачи книги таким образом, чтобы она переходя от друга к другу побывала в руках у каждого #3
а по моему он сделает 100 переходов, потому что у каждого 49 врагов.
но это не значит что все остальным 50 эти люди (49) тоже враги.
по вашей версий 49 врагов одни и те же люди на все 50.
rikimaru2013
C++ Game Dev
 Аватар для rikimaru2013
2133 / 966 / 222
Регистрация: 30.11.2013
Сообщений: 3,231
12.03.2014, 02:10     Написать программу, реализующую способ передачи книги таким образом, чтобы она переходя от друга к другу побывала в руках у каждого #4
N = 10 человек в группе
с них:
N[0] может передать книгу только {1,2,3,4,5}
N[1] может передать книгу только {2,3,4,5,6}
...
Переходов N так как все должны увидеть книгу(N-1) и условие, что последний должен быть другом первому, чтобы вернуть ему книгу(номер перехода N) или условие не выполнено.

Сама логика.

Добавлено через 1 минуту
И мне кажется тут надо использовать "жадный алгоритм"
Retyrn0
45 / 45 / 3
Регистрация: 24.06.2013
Сообщений: 675
Завершенные тесты: 1
12.03.2014, 02:22     Написать программу, реализующую способ передачи книги таким образом, чтобы она переходя от друга к другу побывала в руках у каждого #5
1. Человек прочитал книгу и отдал её любому из друзей, сам из списка убрался.
2. Новый "носитель книги" прочитал её и передал тому, у кого больше всего "не активных" врагов.
3. Если "активные" люди не закончились, повторить 2.

Добавлено через 1 минуту
Хорошая задачка, даже думать пришлось ;-)
VitaliyH
3 / 3 / 0
Регистрация: 05.09.2012
Сообщений: 41
12.03.2014, 11:57  [ТС]     Написать программу, реализующую способ передачи книги таким образом, чтобы она переходя от друга к другу побывала в руках у каждого #6
Все равно, не совсем понятно как писать прогу. В графовой постановке, или как? Может у кого уже есть что-то похожее? Скиньте для примера.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.03.2014, 21:35     Написать программу, реализующую способ передачи книги таким образом, чтобы она переходя от друга к другу побывала в руках у каждого
Еще ссылки по теме:

Преобразовать строку таким образом, чтобы буквы каждого слова в ней были отсортированы по возрастанию C++
C++ Модифицировать программу таким образом, чтобы класс содержал закрытые переменные
C++ Составить программу, реализующую заданный способ движения кругов

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
VitaliyH
3 / 3 / 0
Регистрация: 05.09.2012
Сообщений: 41
14.03.2014, 21:35  [ТС]     Написать программу, реализующую способ передачи книги таким образом, чтобы она переходя от друга к другу побывала в руках у каждого #7
Может все таки у кого то уже есть что-то похожее?
Yandex
Объявления
14.03.2014, 21:35     Написать программу, реализующую способ передачи книги таким образом, чтобы она переходя от друга к другу побывала в руках у каждого
Ответ Создать тему
Опции темы

Текущее время: 04:53. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru