選挙の時間です!
投票を数える時です! 今日、私の全国で地方選挙があります。ここで、各パーティーの座席数は、D'Hondtメソッドを使用して決定されます。あなたの目標は、各パーティが取得する座席数を最短のバイト数で決定するプログラムまたは機能を実装することです。 この方法では、配布するシートの数が固定されており、次のようになります。 すべての当事者には、獲得した投票数から始まる変数番号が割り当てられます。 そして、最初のシートは、その変数で最大の値を持つ当事者に与えられ、そのパーティーのための値になることで割っ票のその総数は1+seats、丸みを帯びたダウン、seatsそれが既に持っている座席の数は(取得した後そうです最初に、彼らの票は2で割られ、2番目の議席を獲得した後は3で割られます)。 その後、当事者の投票が再度比較されます。このプロセスは、すべての座席が割り当てられるまで続きます。 最大数が2つ以上の関係者の間の同点である場合、ランダムに解決されます(ランダムである必要があり、リストの2つのうちの最初の数だけになることはできません)。 入力 あなたは数受け取るN利用できる座席数、およびあなたが好みの形式で、各当事者は得票のリストを示します。例: 25 12984,7716,13009,4045,1741,1013 出力 各パーティーが獲得した座席のリストを出力する必要があります。上記の例では、次のようになります 8,5,9,2,1,0 入力の関係者と同じ順序である必要があります。 例 5 3,6,1 outputs: 2,3,0 135 1116259,498124,524707,471681,359705,275007,126435 outputs: 45,20,21,19,14,11,5 ボーナス パーティの名前を入力として受け取り、出力でそれらを与えると、-20%のボーナス、たとえば: 25 cio:12984,pcc:7716,irc:13009,icb:4045,cub:1741,bb:1013 outputs cio:8 pcc:5 irc:9 icb:2 cub:1 bb:0