【发布时间】:2019-11-04 02:45:25
【问题描述】:
让我们考虑一个由 n 支球队组成的联赛,其中每支球队与所有其他球队交手两次,并产生三种可能的结果:赢、输或平。胜得 2 分,平 1 分,负 0 分。我们要决定是否可以接受排行榜。
我正在尝试实现一个多项式时间算法来解决这个问题。我曾想过使用网络流技术(如 Kleinberg 和 Tardos 的“算法设计”的第 7 章),但无法提出任何具体的建议。
理想的解决方案如下所示
IsAdmissible
Input: Final league table
{
...
}
Output: TRUE if there's a combination of matches resulting in given table
FALSE otherwise
【问题讨论】:
-
什么是可接受的联赛?
-
一个可接受的排名表是一个有其结果组合的表。例如,如果我们有 20 支球队,那么一支球队的最大积分是 114 分,因此不允许有一支球队获得 115 分的联赛表。
-
请将问题规范编辑到问题中,而不是作为 cmets。包括所有规格。还有其他表格列需要考虑吗?
-
为什么是 114?胜利值 2 分还是 3 分?