Я пишу небольшое программное приложение, которое должно служить простым инструментом планирования для местной школы. «Проблема», которую он должен решить, довольно проста. А именно, учителям нужно поговорить с родителями всех детей. Однако у некоторых детей, конечно же, есть братья и сестры в разных группах, поэтому эти беседы нужно планировать рядом друг с другом, чтобы избежать ситуаций, когда родители разговаривают в 18 часов, а другой в 10 вечера. Короче говоря, для набора n детей, где у некоторых детей есть 1 или более братьев или сестер, сгенерируйте расписание, в котором все разговоры этих детей запланированы рядом друг с другом.
Теперь, может быть, проблема может быть решена очень легко, но с другой стороны, у меня есть ощущение, что это может быть довольно сложная проблема, которую нужно и можно решить с помощью какого-то алгоритма. Элегантно. Но прав ли я? Здесь? Я просмотрел венгерский алгоритм, но он не совсем применим к этой конкретной проблеме.
Редактировать: я забыл упомянуть, что все переговоры занимают одинаковое количество времени.
Спасибо!