У меня есть проект, он просит меня распространять курсы для студентов. Все студенты спрашивают о некоторых курсах, но им разрешено получать только некоторое количество из них (это может быть то, что они требуют, меньше или просто 0), все курсы имеют квоты, и мне нужно выяснить, существует ли идеальное совпадение (все квоты заполнены и учащиеся получают то, что им разрешено), - если существует выход этого соответствия.Что я должен использовать для реализации взвешенного двухпартийного алгоритма соответствия в C++?
Я только что получил вход и сохранил его в объектах до сих пор. В проекте есть ограничение по времени, чего я не знаю, где начать. Все предложения или метод для этого проекта?
Я думаю, что я должен реализовать двунаправленный алгоритм сопоставления. Я новичок в C++, поэтому мне нужно реализовать как класс узла, так и класс edge? Или я должен использовать список смежности? Какой из них быстрее работает?
Например, студент запрашивает уроки, пронумерованные 3,4 и 5, но ему разрешено брать 2 урока, поэтому алгоритм должен дать 2 из этих вариантов, если есть идеальная возможность сопоставления.
То, что я представлял по двухсторонней проблеме, было таким, но я думаю, что это трудно реализовать. http://i.stack.imgur.com/wtJ6o.jpg
1.student wants 3 ,4 system allows him to take 2 lessons
2.student wants 1,2,3,4 system allows him to take 3 lessons
3.student wants 1,2,3,4 system allows him to take 2 lessons
4.student wants 1,3,5 system allows him to take 2 lessons
5.student wants 2,5 system allows him to take 1 lessons
1.lesson's quota = 2
2.lesson's quota = 1
3.lesson's quota = 2
4.lesson's quota = 3
5.lesson's quota = 2
I just wrote this ,this might not be the best example.
One possible solution is = 1 -> (3,4) 2->(1,2,4) 3->(3,4) 4->(1,5) 5->(5)
Another is = 1 -> (3,4) 2->(1,2,4) 3->(1,4) 4->(3,5) 5->(5)
там может быть больше, я не знаю.
(студент -> уроки)
Я не совсем понял, что вы подразумеваете под транспортной проблемой и стоимостью транспортировки. Можете ли вы немного расширить свой ответ, пожалуйста? Я добавил схему к моему вопросу. Спасибо. – McOne
Но ни один студент не возьмет урок, который он/она не просил. Так что нет никакой стоимости, как я думаю. Все перенесенные уроки уже востребованы. – McOne
@McOne Если студент не просит определенного курса , этот вариант не должен существовать в оптимальном решении, поскольку мы дорого стоили на перевозку (1). Однако есть вероятность, что я, возможно, неправильно понял проблему. Просьба представить рабочий пример, чтобы прояснить проблему. –