首页 > 解决方案 > CS50 pset3 潮人 print_winner

问题描述

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

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

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

考虑下面的例子。

候选人:A、B、C

选民人数:2

选民1:

Rank1-3: A -> B -> C

选民2:

Rank1-3:C -> B -> A

该图几乎看起来像这样: 在此处输入图像描述

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

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

标签: cs50

解决方案


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


推荐阅读