P2857 [USACO06FEB] Steady Cow Assignment G

题目描述

农夫约翰的 $N$ 头牛($1 \leq N \leq 1000$)各自居住在 $B$ 个谷仓中的一个($1 \leq B \leq 20$),当然,谷仓的容量是有限的。有些牛非常喜欢她们当前的谷仓,而有些则不太开心。 FJ 想要重新安排这些牛,使得牛群的快乐程度尽可能均衡,即使这意味着所有的牛都讨厌她们被分配的谷仓。 每头牛都会告诉 FJ 她对谷仓的偏好顺序。牛对特定分配的快乐程度是她对该谷仓的排名。你的任务是找到一种将牛分配到谷仓的方法,使得没有谷仓的容量被超出,并且牛给她们被分配的谷仓的排名范围(即最高排名谷仓和最低排名谷仓之间的正差加一)的大小尽可能小。

输入格式

输出格式

说明/提示

样例解释: 每头牛可以被分配到她们的第一或第二选择:谷仓 1 得到牛 1 和 5,谷仓 2 得到牛 2,谷仓 3 得到牛 4,谷仓 4 得到牛 3 和 6。 (由 ChatGPT 4o 翻译)