Prämisse:
Ihr Ruf hat die Form eines Stapelwechsels, wenn er dargestellt werden kann, indem Sie Ihre Medaillenzahlen (Gold, Silber und Bronze, die separat gezählt werden) in die 10er-Basisziffern zerlegen und mit ein paar Einschränkungen in einer bestimmten Reihenfolge zusammenfügen.
Während der Zersetzung jeweils
- Goldmedaille Ziffer ist drei Ziffern wert.
- Silber ist zwei Ziffern wert.
- Bronze ist eine Ziffer.
- Darüber hinaus wird keine Medaille Typ angezeigt werden, da SE , wenn Sie nicht haben, eine Zählung von 0 Medaillen für einen Typ wird nicht eine Ausbeute
[0].
Beispiel:
[1 Gold, 2 Silvers, 3 Bronzes]wird zerfallen in[1,1,1,2,2,3]. 321112 und 213121 sind zwei Beispiele für eine SE-Form-Nummer für diese Medaillen.[20 Golds, 0 Silvers, 20 Bronzes]wird zerfallen in[2,2,2,0,0,0,2,0]. 20002022 ist eine SE-Formularnummer.[11 Golds, 0 Silvers, 0 Bronzes]wird zerfallen in[1,1,1,1,1,1]. 111111 ist die einzige SE-Formularnummer dafür.
Wenn eine SE-Nummer in Betracht gezogen wird, gibt es keine führenden Nullen. ZB im 2. Beispiel oben 00002222 -> 2222würde keine SE-Formularnummer für berücksichtigt [20,0,20].
Input-Output:
Die Eingabe ist eine Liste / Tupel / Array / was auch immer [reputation, gold_medals, silver_medals, bronze_medals]alle nicht-negative ganze Zahlen sind. Dies ist die angenommene Reihenfolge, kann aber geändert werden. Notieren Sie sich in Ihrer Antwort, wenn Sie dies tun.
Ausgabe sind zwei konsistente Werte für true und false.
Regeln:
- Die Eingabe ist immer gültig
- Sie werden immer mindestens 1 Rep haben
- Sie können überhaupt keine Medaillen haben, was dann immer falsch sein sollte.
- Die Medaillenzahlen haben keinen Einfluss auf die Realität. Es ist in Ordnung, mehrere hundert Goldstücke und keine Bronzen zu haben.
- Dies ist Code-Golf, also gewinnt die kürzeste Antwort in Bytes.
Testfälle:
#[Rep, Gold, Silver, Bronze] -> Output
[4, 0, 0, 4] -> True
[1447, 0, 4, 17] -> True
[74414, 4, 0, 17] -> True
[4444, 4, 0, 4] -> True
[4455, 0, 54, 0] -> True
[5355, 5, 0, 3] -> True
[53535, 5, 3, 0] -> True
[4444, 0, 0, 4444] -> True
[444, 4, 0, 0] -> True
[1234, 0, 0, 1234] -> True
[1234, 0, 0, 4321] -> True
[4444, 1, 0, 1] -> False
[5555, 5, 0, 55] -> False
[1234, 1, 23, 4] -> False
[1, 0, 0, 0] -> False
[1001001, 0, 10, 10] -> False
[bronze, silver, gold]und eine getrennte zweite Eingabe nehmen reputation?