Поиск:

Ответ в темуСоздание новой темы Создание опроса
> алгоритм перебора графа, подскажите, пожалуйста 
:(
    Опции темы
Kubus
Дата 27.6.2007, 16:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 18
Регистрация: 13.7.2006

Репутация: нет
Всего: нет



Здравствуйте!
Подскажите, пожалуйста, по поводу алгоритма для решения вот такой задачи:
Составить программу для нахождения произвольного разбиения 20 человек на 2 команды, численность которых отличается не более, чем в 2 раза, если известно, что в любой команде должны быть люди, обязательно знакомые друг с другом. Круг знакомств определяется матрицей (20,20)
PM MAIL   Вверх
Sartorius
Дата 27.6.2007, 17:29 (ссылка) |  (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1568
Регистрация: 18.7.2006
Где: Ivory tower

Репутация: 1
Всего: 37



 Выбираем состав первой команды (от 7 до 13 человек):

и того меньше чем 13 * С(по 13 из 20 (  77200  )) (примерно 10^6 вариантов) и проверяем два получившихся подграфа на полную связность . 




PM MAIL ICQ   Вверх
Kubus
Дата 1.7.2007, 15:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 18
Регистрация: 13.7.2006

Репутация: нет
Всего: нет



не могли бы вы попродробнее объяснить? как запрограммить я разберусь, но сначала нужно в алгоритме разобраться, а теория графив у меня закончилась год назад и я уже мало что помню оттуда
PM MAIL   Вверх
Kubus
Дата 12.7.2007, 13:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 18
Регистрация: 13.7.2006

Репутация: нет
Всего: нет



уважаемые мемберы данного ресурса!
помогите, пожалуйста, с пониманием алгоритма решения задачи этой, ваша карма поднимится до небывалых высот!)
сперва разделить на команды требуется. команды могут быть соответственно 7 и 13, 8 и 12, 9 и 11, 10 и 10, но как организовать цикл перебора вариантов внутри команды?
а как проверить связность? берем элемент строки, просматриваем столбец на наличие "1", сравниваем с номером элементов
(человек другой команды)?

Это сообщение отредактировал(а) Kubus - 12.7.2007, 13:52
PM MAIL   Вверх
JackYF
Дата 12.7.2007, 13:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


полуавантюрист
****


Профиль
Группа: Участник
Сообщений: 5814
Регистрация: 28.8.2004
Где: страна тысячи озё р

Репутация: нет
Всего: 162



Цитата(Kubus @  12.7.2007,  13:42 Найти цитируемый пост)
а как проверить связность?

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

Если есть возможность и желание, посмотри boost::graph - там немало алгоритмов уже реализовано.


--------------------
Пожаловаться на меня как модератора можно здесь.
PM MAIL Jabber   Вверх
Lactarius
Дата 12.7.2007, 15:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 12.7.2007

Репутация: нет
Всего: нет



Потрібно зробити обхід графа методом DFS або BFS
PM MAIL   Вверх
Kubus
Дата 13.7.2007, 14:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 18
Регистрация: 13.7.2006

Репутация: нет
Всего: нет



как реализовать обход графа - разобрался, спасибо
но как оформить перебор всех возможных вариантов? я так понимаю, что до 13 идти не надо - до 12. Перебирать всех 13 - это тоже самое, что перебирать группу из 7. Да и до 12 и 11. Перебор всего по 7, 8 и 9?

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Алгоритмы"

maxim1000

Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Алгоритмы | Следующая тема »


 




[ Время генерации скрипта: 0.0430 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.