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