这是选举!我们所在的区域实施称为即时径流的投票系统(有时称为替代投票或优先投票)。每个投票者从最喜欢的到最不喜欢的顺序对每个候选人进行排序,为他们的最喜欢的候选人标记一个“ 1”,为他们的第二个候选人标记一个“ 2”,依此类推,直到为每个候选人编号。我让这个友好的考拉解释其余的事情:
(图像从改性原始通过帕特里克亚历山大,所述下使用CC BY-NC-SA 3.0 AU许可)。
如果您更喜欢文本形式的即时径流解释,也可以参考Wikipedia文章。
(注意:虽然可能不大,但也有可能有两个或两个以上投票最少的候选人。在这种情况下,请以相等的概率随机选择其中之一,并消除他们。)
在此挑战中,输入的第一行是字符串列表,这些字符串是选举候选人的名称。在这些示例中,尽管可以随意调整输入格式以适合您的语言,但我使用了管道分隔值。
The Omitted Anti-neutrino|Placazoa|Alexander the Awesome|Tau Not Two|Semolina Sorcerer
接下来是n输入行,也是行列表,每行代表一个表决。第一个条目表示投票#1优先,第二个投票#2,依此类推。例如:
Alexander the Awesome|Semolina Sorcerer|Tau Not Two|Placazoa|The Omitted Anti-neutrino
这意味着该特定投票将亚历山大作为第一优先级,将Semolina Sorcerer作为其第二优先级,将Tau Not Two作为其第三优先级,依此类推。您可以假设每个投票都将包含每个候选人,并且不会有空白或不完整的投票。
给定选票作为输入,您的程序或功能应随后输出选举的获胜者。您可以在此处找到Python 3中未引用的参考实现。
输入和输出示例
输入值
Dionysius|Portal Butter|Alexander the Awesome|Red Trainmen
Portal Butter|Alexander the Awesome|Dionysius|Red Trainmen
Dionysius|Portal Butter|Alexander the Awesome|Red Trainmen
Portal Butter|Red Trainmen|Alexander the Awesome|Dionysius
Dionysius|Portal Butter|Alexander the Awesome|Red Trainmen
Alexander the Awesome|Red Trainmen|Portal Butter|Dionysius
Red Trainmen|Alexander the Awesome|Dionysius|Portal Butter
Dionysius|Portal Butter|Alexander the Awesome|Red Trainmen
Red Trainmen|Dionysius|Portal Butter|Alexander the Awesome
Alexander the Awesome|Dionysius|Red Trainmen|Portal Butter
Dionysius|Portal Butter|Alexander the Awesome|Red Trainmen
Alexander the Awesome|Red Trainmen|Dionysius|Portal Butter
输出量
Alexander the Awesome
输入值
Depressed Billy|Sighted Citrus|Frosty Fox|Electronic Accident
Frosty Fox|Sighted Citrus|Electronic Accident|Depressed Billy
Frosty Fox|Depressed Billy|Sighted Citrus|Electronic Accident
Depressed Billy|Electronic Accident|Sighted Citrus|Frosty Fox
Depressed Billy|Sighted Citrus|Electronic Accident|Frosty Fox
Depressed Billy|Electronic Accident|Sighted Citrus|Frosty Fox
Electronic Accident|Frosty Fox|Depressed Billy|Sighted Citrus
Sighted Citrus|Frosty Fox|Electronic Accident|Depressed Billy
Frosty Fox|Depressed Billy|Sighted Citrus|Electronic Accident
Sighted Citrus|Electronic Accident|Frosty Fox|Depressed Billy
Frosty Fox|Electronic Accident|Depressed Billy|Sighted Citrus
Sighted Citrus|Frosty Fox|Depressed Billy|Electronic Accident
输出量
Sighted Citrus或Frosty Fox(随机)
输入值
你可以得到最后的输入设置在这里。它是最近澳大利亚大选的投票领域之一,由63 428票组成。
输出量
Ross HART
