PROBLEM
Finde mit zwei Worten den Gewinner in einem digitalen Wurzelkampf .
Definieren Sie die digitale Wurzel eines Wortes folgendermaßen:
- Jedem Buchstaben des Alphabets ist eine Zahl zugeordnet: A = 1, B = 2, C = 3, ..., Z = 26
- Addieren Sie die Werte für jeden Buchstaben, um das Wort zu addieren. Nehmen wir zum Beispiel "CAT". C + A + T = 3 + 1 + 20 = 24
- Addieren Sie alle einzelnen Ziffern, aus denen das Ergebnis besteht: 24 => 2 + 4 = 6
- Wiederholen Sie Schritt 3, bis Sie eine einzelne Ziffer erreicht haben. Diese einzelne Ziffer ist die digitale Wurzel des Wortes.
Regeln:
- Ein Gewinner wird erklärt, wenn seine digitale Wurzel größer als die andere ist.
- Wenn die digitalen Stammwerte gleich sind, kürzen Sie die Wörter, indem Sie jede Instanz des Buchstabens mit dem höchsten Wert aus beiden Wörtern entfernen und neu berechnen.
- Wiederholen Sie die Schritte 1 und 2, bis ein Gewinner gefunden wurde oder eines der Wörter nur noch einen Buchstaben (oder keine Buchstaben) enthält.
- Wenn die digitalen Wurzelwerte nach Durchlaufen des Verkürzungsprozesses gleich sind, wird das längere Wort zum Gewinner erklärt.
- Wenn die Wörter gleich lang sind und nach der Verkürzung kein Gewinner gefunden wird, wird kein Gewinner ermittelt.
Besondere Regeln:
- Bei der Berechnung der digitalen Wurzel selbst ist die Verwendung des Moduls nicht zulässig . Es kann überall verwendet werden.
- Angenommen, Wörter bestehen nur aus Großbuchstaben - keine Interpunktion, keine Leerzeichen usw.
EINGANG
Ziehen Sie die Wörter durch stdin (durch Kommas getrennt). Methodenparameter, oder wie Sie wollen. Stellen Sie in Ihrer Lösung oder im Code klar, wie die Wörter analysiert oder vorbereitet werden.
AUSGABE
Zeigen Sie das gewinnende Wort an. Wenn es keinen Gewinner gibt, zeige "STALEMATE" an.
Beispiele:
Eingabe: CAN, BAT
CAN = 18 = 9
BAT = 23 = 5
Ausgang: CAN
Eingabe: ZOO, NO
ZOO = 56 = 11 = 2
NO = 29 = 11 = 2
OO = 30 = 3
N = 14 = 5
Ausgang: NEIN
UPDATE : Die Eingabe muss mit stdin mit den Wörtern als durch Kommas getrennte Zeichenfolge gelesen werden.
UPDATE : Einige Beispiele zum Testen hinzugefügt.
UPDATE : Das Entfernen des höchstwertigen Buchstabens im Falle eines Unentschieden wurde geklärt - dies ändert auch die Stoppbedingung geringfügig - Wenn ein Wort einen Buchstaben oder null Buchstaben lang ist, wird der Kürzungsvorgang gestoppt