Einführung
Dies ist eine Fortsetzung dieser Herausforderung, bei der Sie die Rolle des bösen Zwillings dieser Person übernehmen. Als Übel wollen Sie Ihren Anteil nicht maximieren, sondern sind so unfair wie möglich und Sie werden es nicht zu offensichtlich machen. Deshalb haben Sie folgendes Schema entwickelt:
Sie werden den anderen sagen, dass Sie so fair wie möglich sein möchten, wie Ihr Geschwister, und daher werden Sie die ganze Zahl in gleich lange Stücke aufteilen. Sie werden also für jede ganze Zahl die richtige Anzahl von Personen finden, so dass der Unterschied zwischen dem größten und dem kleinsten Teil maximal ist.
Wenn Sie beispielsweise die Ganzzahl erhalten, können 6567
Sie sie unverändert lassen und in zwei 65,67
oder vier Teile teilen 6,5,6,7
. Dies gibt Ihnen die folgenden maximalen Unterschiede:
6567 -> max() = 0
65,67 -> max(|65-67|) = 2
6,5,6,7 -> max(|6-5|,|6-5|,|6-6|,|6-7|,|5-6|,|5-7|,|6-7|) = 2
Da Sie nur böse sein wollen bevorzugen Sie nicht 67
über 7
und so werden Sie Ausgang entweder 2
oder 4
.
Ein anderer (weniger spezieller Fall); Wenn 121131
Sie die ganze Zahl angeben, können Sie sie wie folgt aufteilen:
121131 -> max() = 0
121,131 -> max(|121-131|) = 10
12,11,31 -> max(|12-11|,|12-31|,|11-31|) = 20
1,2,1,1,3,1 -> max(…) = 2
Diesmal gibt es nur eine Lösung - nämlich 3
- da bei drei Personen der Unterschied maximal ist.
Herausforderung
Gegeben eine ganze Zahl bestimmen , jede mögliche Art und Weise des Seins maximal Übel und berichten über die Zahl der Menschen , dies zu erreichen , benötigt.
Regeln
- Die Eingabe ist immer ≥ 1
- Die Eingabe kann entweder eine Ganzzahl, eine Ziffernliste oder eine Zeichenfolge sein
- Sie müssen keine ungültigen Eingaben verarbeiten
Testfälle
Sie müssen nur die resultierende Anzahl der benötigten Personen angeben, die möglichen Partitionen dienen nur zur Veranschaulichung:
In -> splits (difference) -> Out
1 -> [1] (0) -> 1
10 -> [1,0] (1) -> 2
11 -> [11] or [1,1] (0) -> 1 or 2
12 -> [1,2] (1) -> 2
42 -> [4,2] (2) -> 2
101 -> [1,0,1] (1) -> 3
2222 -> [2222] or [22,22] or [2,2,2,2] (0) -> 1 or 2 or 4
6567 -> [65,67] or [6,5,6,7] (2) -> 2 or 4
123000 -> [123,000] (123) -> 2
123001 -> [123,001] (122) -> 2
121131 -> [12,11,31] (20) -> 3
294884 -> [294,884] (590) -> 2
192884729 -> [192,884,729] (692) -> 3
123456189012 -> [123456,189012] (65556) -> 2
123457117346 -> [1234,5711,7346] (6112) -> 3