CS50 pset3 tideman print_winner

时间:2020-08-12 15:07:46

标签: cs50

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

在最后一个功能中,我们必须打印出获胜者(没有边缘锁定/来源的候选人)。 enter image description here

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

考虑以下示例。

候选人:A,B,C

不。选民人数:2

投票人1:

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

Voter2:

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

该图形将大致如下所示: enter image description here

这是一个平局,没有候选人比其他候选人更可取。 但是,由于A尚未被任何其他候选人锁定,因此tideman程序仍将A作为获胜者。

在这个问题上我们需要考虑平局情况吗?还是我在这里想念什么?请帮帮我。 非常感谢。

1 个答案:

答案 0 :(得分:0)

该规范说:“您可以假设不会有一个以上的来源”。 因此,对于CS50问题集,我们可以假设您描述的情况永远不会发生。 但是你的推理是正确的。可能会发生联系。