мой коллега предложил мне упражнение с веб-сайта онлайн-судьи, которое, в основном, решает проблему плана эвакуации в маленьком городе.
Мне не нужен ответ (и при этом я не хочу его), мне просто нужен совет, который является лучшим подходом к его решению, так как я немного новичок в подобных проблемах.
проблема состоит из городских зданий с рабочими и противорадиационными убежищами на случай ядерной атаки. Мне нужно построить алгоритм, который будет назначать работников каждого здания одному или нескольким убежищам от радиоактивных осадков, но таким образом, чтобы некоторые убежища не были слишком переполнены, в то время как другие остаются почти пустыми (в противном случае я просто заставил бы рабочих идти к ближайшему). .
проблема заключается в следующем: http://acm.timus.ru/problem.aspx?space=1&num=1237
на тот случай, если его офлайн-код находится в кешированной версии Google: http://webcache.googleusercontent.com/search?q=cache:t2EPCzezs7AJ:acm.timus.ru/problem.aspx%3Fspace%3D1%26num%3D1237+vladimir+kotov+evacuation+problem&cd=1&hl=pt-PT&ct=clnk&gl=pt
Что я сделал до сих пор, так это чтобы каждое здание получило ближайшее укрытие и переместило количество рабочих из этого здания на количество укрытий. затем перейдите к следующему зданию. но иногда число работников превышает вместимость укрытия, и в этом случае после того, как я проведу итерацию по каждому зданию, я просто повторю и снова применяю один и тот же алгоритм, пока в каждом здании не будет 0 работников, проблема в том, что это едва ли лучший способ решить это.
Любой совет приветствуется, пожалуйста, не думайте, что я спрашиваю ответ, я просто хочу совет в правильном направлении его решения.
Заранее спасибо.