Це вибори! Територія, в якій ми перебуваємо, реалізує систему голосування, яку називають миттєвим сносом (іноді називають альтернативним голосуванням або пільговим голосуванням ). Кожен виборець наказує кожному кандидату від найбільш кращого для найменш кращого, позначаючи «1» для свого найбільш кращого кандидата, «2» для свого другого кандидата і так далі, поки кожен кандидат не буде пронумерований. Я дозволю цій дружній коалі пояснити решту:
(Зображення редагувався оригінал від Патріка Олександра , використовується під CC BY-NC-SA 3.0 ліцензії AU ).
Якщо ви віддаєте перевагу своє миттєве пояснення стоку у текстовій формі, є також стаття у Вікіпедії .
(Примітка. Також можливо, хоча й малоймовірно, щоб було два чи більше кандидатів, що мають найменше голосів. У цих ситуаціях вибирайте одного з них випадковим чином з однаковою ймовірністю та ліквідуйте їх.)
У цьому виклику перший рядок введення - це список рядків, у яких є імена кандидатів на вибори. У цих прикладах я використовував значення, розміщені в трубі, хоча сміливо налаштовуйте формат введення відповідно до вашої мови.
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
означало б, що саме цей голос має Олександр, як перший, Маклу Колдун як другий, Тау Не Два як їх третій і т. д. Можна припустити, що кожен голос буде містити кожного кандидата, і що не буде чистих чи неповних голосів.
Враховуючи голоси як вхідні дані, ваша програма чи функція повинні вивести переможця виборів. Ви можете знайти нереалізовану довідкову реалізацію в 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
