返回题目列表
COMP2041
22T2 Q12 — 即时决选计票(IRR)
候选人为命令行参数(大小写不敏感)。stdin 每行是一张按偏好排序列出全部候选人的选票。合法票当且仅当其词恰为候选集且各一次;对每张非法票打印 Invalid ballot: <line> 并丢弃。
随后对合法票做即时决选:每轮统计每票第一个未淘汰偏好;某候选得票严格过半则打印 Winner: <c>;只剩一人则其胜;剩两人且平票打印 Tie;否则淘汰最低票者(并列→淘汰字典序最大的名字)后重复。
此处给出确切 IRR 规则(原卷源不充分)。
POSIX shell only (#!/bin/dash); standard UNIX filters. From COMP2041/9044 — adapted for deterministic autotest.
样例
stdin
alice bob carol alice carol bob bob carol alice carol bob alice bob alice carol
期望输出
Winner: bob
shell
14