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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
VitaliyH
4 / 4 / 0
Регистрация: 05.09.2012
Сообщений: 41
#1

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

12.03.2014, 00:25. Просмотров 540. Ответов 6
Метки нет (Все метки)

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

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

Реализовать процедуру таким образом, чтобы она возвращала 2 значения - C++
Всем привет! Необходимо реализовать процедуру таким образом чтобы она возвращала 2 значения, вместе стандартного 1го.

Преобразовать строку таким образом, чтобы буквы каждого слова в ней были отсортированы по возрастанию - C++
Привет всем! Сломал я ногу и 4 месяца не ходил в универ,теперь мне задали задания,я даже примерно не знай как их реализовать,кому не...

Задача страуструпа: Измените программу так, чтобы она выводила числа, которые почти равны друг другу - C++
Есть программа #include <iostream> using namespace std; int main () { double val_1 = 0.0;

Модифицировать программу таким образом, чтобы класс содержал закрытые переменные - C++
Нужна помощь, модифицировать программу таким образом, чтобы класс содержал закрытые переменные. Задание такое Написать программу,...

Добавить к тексту в файле цифру 2 таким образом, чтобы она была в середине каждого слова - C++ WinAPI
Записать в текстовый файл произвольный текст, который вводится с клавиатуры. Добавить к этому тексту цифру 2 таким образом, чтобы она была...

Изменить программу таким образом, чтобы она работала с массивом вещественных чисел - C#
Пытаюсь решить задачу, взятую из одного курса на MVA. Дан исходный код: static void Main(string args) { ...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
zer0mail
2334 / 1960 / 192
Регистрация: 03.07.2012
Сообщений: 7,030
Записей в блоге: 1
12.03.2014, 00:43 #2
Имхо, "враг" не означает "не друг".
1
Жанерке
34 / 34 / 2
Регистрация: 22.09.2013
Сообщений: 170
12.03.2014, 01:01 #3
а по моему он сделает 100 переходов, потому что у каждого 49 врагов.
но это не значит что все остальным 50 эти люди (49) тоже враги.
по вашей версий 49 врагов одни и те же люди на все 50.
1
rikimaru2013
C++ Game Dev
2436 / 1130 / 240
Регистрация: 30.11.2013
Сообщений: 3,687
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 минуту
И мне кажется тут надо использовать "жадный алгоритм"
1
Retyrn0
45 / 45 / 3
Регистрация: 24.06.2013
Сообщений: 677
Завершенные тесты: 1
12.03.2014, 02:22 #5
1. Человек прочитал книгу и отдал её любому из друзей, сам из списка убрался.
2. Новый "носитель книги" прочитал её и передал тому, у кого больше всего "не активных" врагов.
3. Если "активные" люди не закончились, повторить 2.

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

Дана строка символов. Изменить ее таким образом, чтобы все символы отделялись друг от друга одним пробелом - Free Pascal
Дана строка символов. Изменить ее таким образом, чтобы все символы отделялись друг от друга одним пробелом.

Преобразовать строку таким образом, чтобы буквы каждого слова в ней были отсортированы по возрастанию - C#
Прощу помощи доработать, что бы считывало пробел и выдавало каждое слово по отдельности с сортировкой бук в нем. Для одного слова...

Изменить программу таким образом, чтобы вывод производился через файл - VBA
Помогите сделать задание через фаил вот данные : Sub macros1() Dim a, b As String Dim scetchik As Integer Dim massiv(100) As...

Модифицируйте программу таким образом, чтобы выходной массив вводился с клавиатуры - C#
Модифицируйте программу таким образом, чтобы выходной массив вводился с клавиатуры. using System; class Class1 { static void...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
14.03.2014, 21:35
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru