【问题标题】:CS50 pset3 tideman print_winnerCS50 pset3 潮人 print_winner
【发布时间】:2025-12-24 23:10:18
【问题描述】:

感谢大家。我终于完成了我的问题集 3 潮人。但是,还有一件事困扰着我。

在最后一个函数中,我们必须打印出获胜者(没有边缘锁定/源的候选者)。

您在上图中看到,很明显,2 是获胜者。 我在互联网上搜索了很多答案,他们都只是测试 2 是否被其他人锁定。但他们没有测试 2 是否锁定了其他候选人。

考虑下面的例子。

候选人:A、B、C

没有。选民人数:2

选民1:

排名1-3:A -> B -> C

选民2:

排名1-3:C -> B -> A

图表看起来很像这样:

这是一个没有候选人比其他候选人更受欢迎的平局。 但潮人程序仍会将 A 打印为获胜者,因为 A 尚未被任何其他候选人锁定。

我们需要考虑这个问题的平局情况吗?或者我在这里错过了什么?请帮帮我。 非常感谢。

【问题讨论】:

    标签: cs50


    【解决方案1】:

    规范说:“您可以假设不会有多个来源”。 因此,对于 CS50 问题集,我们可以假设您描述的情况永远不会发生。 但是你的推理是对的。可能会出现平局。

    【讨论】: