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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.64
leysanka
0 / 0 / 0
Регистрация: 23.12.2009
Сообщений: 12
#1

Вывести количество идеальных вариантов - C++

28.12.2010, 12:47. Просмотров 1427. Ответов 30
Метки нет (Все метки)

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

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

Количество возможных вариантов и ребус - C++
Прошу помощи 1)Перед фермером стоит задача: купить на 100 рублей 100 голов скота. Стоимость быка – 10 руб., коровы – 5 руб. и телёнка...

Просчитать количество вариантов представления числа в виде суммы натуральных цифр 1, 2 и 3 - C++
Дано натуральное число N. Необходимо просчитать количество вариантов представления числа в виде суммы натуральных цифр 1, 2 и 3. К...

Задача по нахождению идеальных чисел на заданном промежутке - C++
почему в коде именно к/2 ??? (условие: задача по нахождению идеальных чисе в заданном промежутке; то есть сумма сомножителей чисоа...

Отсортировать строки матрицы по сумме в них идеальных чисел - C++
Задача: Отсортировать строки матрицы (по-убыванию), по сумме в них идеальных чисел. Нужна ваша помощь, заранее спасибо.

Создать файл, ввести символы, вывести на экран количество не латинских букв, количество цифр - C++
Есть код к заднию , но он не правильно показывает данные - киррилицу не ищет а латиницу больше выводит... Задание: Создать текстовый...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
RUSya82
236 / 114 / 3
Регистрация: 15.10.2010
Сообщений: 395
28.12.2010, 13:27 #2
это С++?
0
Patch
2276 / 491 / 11
Регистрация: 01.04.2009
Сообщений: 2,178
28.12.2010, 13:35 #3
это SQL.
но можно извратиться, и реализовать циклы на C/C++
0
leysanka
0 / 0 / 0
Регистрация: 23.12.2009
Сообщений: 12
28.12.2010, 15:14  [ТС] #4
помогите пожалуйста..
на С вроде должно быть.
это с графами как-то связано

Добавлено через 13 минут
подскажите хотя-бы как это делать..принцип решения.. а то совсем не догоняю.
0
valeriikozlov
Эксперт C++
4670 / 2496 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
28.12.2010, 15:27 #5
Изначально задача кажется немного странной.
Это все условие:?
есть три множества одинаковой мощности-мужчины женщины и дома. (все по n)
между мужчинами и женщинами есть симпатии.
и мужчинам и женщинам нравятся некоторые дома.
сколько обоюдносимпатизирующих пар можно заселить в нравящийся им дом?
т.е. надо вывести кол-во идеальных вариантов..
социально важная задача, кстати!
Тогда вопросы:
- мощности-мужчины женщины и дома как нибудь связаны с симпатиями:
между мужчинами и женщинами и понравившимися домами?
- как задаются входные данные вообще?
Насчет социально важной задачи Вас обманули кстати, все решается не так (а через знакомства, взятки и т.п.)
0
Patch
2276 / 491 / 11
Регистрация: 01.04.2009
Сообщений: 2,178
28.12.2010, 15:33 #6
ну, раз совсем непонятно - делай простейший вариант.
тупо перебирай всех женщин, для каждой перебирай все ее симпатии к мужчинам,
далее проверяй совпадают ли симпатии, и если совпадают - перебирай возможные домики для пары(которые обоим нравятся).
после нахождения пары с домиком, выбрасываешь их из процесса поиска, и... ищешь то-же самое среди оставшихся.
и так до тех пор, пока не кончаться все женщины с их симпатиями.
побеждает вариант, в котором число найденных домиков с парами - максимально.

по сути - типичная шахматная задача.
0
valeriikozlov
Эксперт C++
4670 / 2496 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
28.12.2010, 15:43 #7
Цитата Сообщение от Patch Посмотреть сообщение
делай простейший вариант
Это называется "жадный алгоритм", но пока неизвестно по какому принципу формируются входные данные этот алгоритм применять преждевременно.
0
Patch
2276 / 491 / 11
Регистрация: 01.04.2009
Сообщений: 2,178
28.12.2010, 15:51 #8
Цитата Сообщение от valeriikozlov Посмотреть сообщение
но пока неизвестно по какому принципу формируются входные данные
по-моему, как раз это понятно.
принцип формирования исходных данных четко описан:
Цитата Сообщение от leysanka Посмотреть сообщение
есть три множества одинаковой мощности-мужчины женщины и дома. (все по n)
между мужчинами и женщинами есть симпатии.
и мужчинам и женщинам нравятся некоторые дома.
другое дело, что эти данные можно представить в разных форматах.
но формат исходных данных на алгоритм практически не влияет.

а еще есть вопрос, как могут заселяться дома: обязательно по одной паре на дом, или можно по нескльку?
0
valeriikozlov
Эксперт C++
4670 / 2496 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
28.12.2010, 16:13 #9
Цитата Сообщение от Patch Посмотреть сообщение
по-моему, как раз это понятно.
А по-моему не совсем все-таки понятно. Например если мощности и симпатии согласуются по принципу: если мощность мужчины, женщины или дома расходятся не более чем на 5 единиц, то все друг другу нравятся. А если более, то не нравятся. То тогда жадный алгоритм не применим, для достижения максимального результата.
Лучше все-таки дождаться ответа хозяйки вопроса.
0
Patch
2276 / 491 / 11
Регистрация: 01.04.2009
Сообщений: 2,178
28.12.2010, 16:26 #10
Цитата Сообщение от valeriikozlov Посмотреть сообщение
если мощность мужчины, женщины или дома расходятся не более чем на 5 единиц

смысл фразы ускользает.
что в данном контексте "мощность мужчины"?
Мощность множества
Мощность множества или кардинальное число множества — это обобщение понятия количества (числа) элементов множества, которое имеет смысл для всех множеств, включая бесконечные.
ваша терминология отличается от общепринятой?
0
leysanka
0 / 0 / 0
Регистрация: 23.12.2009
Сообщений: 12
28.12.2010, 16:35  [ТС] #11
эм. ну. вообще это произвольная задача-задание графов делать как удобнее и как быстрее.
да,задача на перебор.
одна пара один дом.
делать можно практически все что захочется главное-решить задачу и использованием графов, ибо задача по теории графов.

я сейчас голову себе отвинчу.
мне понравился простейший вариант.как его реализовывать? простите что не сразу отвечаю-сижу получаю зачет по физике
0
valeriikozlov
Эксперт C++
4670 / 2496 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
28.12.2010, 16:40 #12
Цитата Сообщение от Patch Посмотреть сообщение
ваша терминология отличается от общепринятой?
Да нет, не отличается. Наоборот совпадает.
Хорошо вот еще простой пример:
Мужчине №1 нравится женщина №1 и им обоим нравятся дома номер №1 и №2.
Мужчине №2 нравится женщина №2 и им обоим нравится дом номер №1.
Если следовать жадному алгоритму (который Вы привели), то можно заселить одну пару в один дом.
А на самом деле можно заселить 2 пары.
Поэтому все-таки предлагаю:
Цитата Сообщение от valeriikozlov Посмотреть сообщение
Лучше все-таки дождаться ответа хозяйки вопроса.
0
Patch
2276 / 491 / 11
Регистрация: 01.04.2009
Сообщений: 2,178
28.12.2010, 16:43 #13
Цитата Сообщение от valeriikozlov Посмотреть сообщение
Если следовать жадному алгоритму (который Вы привели), то можно заселить одну пару в один дом.
нет.
если следовать моему алгоритму, то в перебор попадут ОБА варианта.
0
valeriikozlov
Эксперт C++
4670 / 2496 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
28.12.2010, 16:45 #14
А как же:
после нахождения пары с домиком, выбрасываешь их из процесса поиска
0
leysanka
0 / 0 / 0
Регистрация: 23.12.2009
Сообщений: 12
28.12.2010, 16:57  [ТС] #15
эм.меня кто-нибудь слыыышит?
одна пара-один дом- и выкинуть из процесса.
ибо коммуналки разводить негоже.капитализм все-таки.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.12.2010, 16:57
Привет! Вот еще темы с ответами:

Посчитать количество знаков препинания в тексте и вывести их количество. - C++
Текст:"Враг, что мудр и много знает, друга может быть ценней. Мудрость уважать пристало у врагов и у друзей."

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

Вывести имя и количество букв в фамилии. Вывести самое длинное слово - C++
Помогите сделать задачку: Вывести имя и количество букв в фамилии.Вывести самое длинное слово.На C++

Дан текстовый файл. Вывести на экран количество предложений в нём и количество слов в каждом предложении - C++
Помогите пожалуйста решить задачку, буду очень благодарен. Дан текстовый файл. Вывести на экран количество предложений в нём и количество...


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

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

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