5
即時流出選択のシミュレーション
選挙です!私たちがいる領域は、インスタントランオフと呼ばれる投票システムを実装しています(代替投票と呼ばれることもあります)または優先投票ます)。各有権者は、各候補者に番号を付けるまで、各候補者を最も優先度の高いものから最も優先度の低いものに「1」、2番目の候補に「2」などをマークします。この親しみやすいコアラに残りを説明させてください: (オリジナルから変更された画像 CC BY-NC-SA 3.0 AUライセンスの下で使用されるPatrick Alexanderによって)。 テキスト形式の即時流出の説明が必要な場合は、Wikipediaの記事も参照してください。 (注:可能性は低いですが、最少票数の候補が2人以上存在することもあります。これらの状況では、同じ確率でランダムに1つを選択して削除します。) このチャレンジでは、入力の最初の行は文字列のリストであり、これは選挙の候補者の名前です。これらの例では、パイプ区切り値を使用しましたが、言語に合わせて入力形式を自由に調整してください。 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 つまり、その特定の投票の優先順位が最初にアレクサンダー、2番目にセモリナソーサラー、3番目にタウノット2などがあります。 投票を入力として、プログラムまたは機能が選挙の勝者を出力する必要があります。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 …
15
code-golf