Sie sind auf ein altes indisches Manuskript gestoßen, das Hügel vergrabener Schätze beschreibt. Das Manuskript informiert Sie auch über die Position des Schatzes, mit der Ausnahme, dass einige wichtige Zahlen indirekt in den Text kodiert wurden. Sie stellen fest, dass der Text ein 'Kaadi'-System verwendet, eine eingeschränkte Teilmenge des allgemeineren' Katapayadi'-Systems.
(Das Katapayadi- System ist ein altes indisches System zum Kodieren von Ziffern als Buchstaben, das häufig als Mnemonik zum Speichern langer Zahlen verwendet wird.)
Ihre Aufgabe hier ist es, im Kaadi-System kodierten Text zu dekodieren und den numerischen Wert auszudrucken.
Einzelheiten
Zeichen eingeben
Das Kaadi-System basiert auf den Regeln des Katapayadi-Systems , verwendet jedoch nur die erste Reihe von Konsonanten. Ihr Text hier wurde ins lateinische Alphabet übersetzt und enthält bekanntermaßen nur:
- Vokale 'a', 'e', 'i', 'o', 'u'
- Konsonanten 'g', 'k', 'c', 'j' und ihre Kapitalformen (um die aspirierte Form dieser Konsonanten darzustellen ) sowie 'ṅ' und 'ñ'.
(Sie können wählen, ob Sie 'ṅ' als 'ng' und 'ñ' als 'ny' empfangen und verarbeiten möchten, wenn dies in Ihrer Sprache praktischer ist.)
Wertzuweisung
In diesem System
Jedem Konsonanten, dem ein Vokal folgt, ist eine Ziffer zugeordnet. Diese sind:
'k'=>1, 'K'=>2,
'g'=>3, 'G'=>4,
'ṅ'=>5,
'c'=>6, 'C'=>7,
'j'=>8, 'J'=>9,
'ñ'=>0
Beachten Sie jedoch, dass diese Werte nur gelten, wenn auf diese Konsonanten ein Vokal folgt. kacCi
hat den gleichen Wert wie kaCi
( ka
, Ci
= (1,7)), da das mittlere c nicht von einem Vokal begleitet wird.
Zusätzlich ist eine erste Vokal oder eine Folge von zwei Vokalen a 0
aikaCi
wäre:ai
,ka
,Ci
= (0,1,7)Zusätzliche Vokale an einer anderen Stelle in der Mitte des Textes haben keinen Wert:
kauCia
Entspricht demkaCi
, dass die zusätzlichen Vokale ignoriert werden können.
Endgültiger numerischer Wert
Sobald die Ziffernwerte der Buchstaben herausgefunden worden sind, wird der endgültige numerische Wert in umgekehrter Reihenfolge dieser Ziffern erhalten, dh die erste Ziffer aus dem Text ist die am wenigsten signifikante Ziffer im endgültigen Wert.
Z.B.
GucCi
hat Gu
und Ci
, also (4, 7), also ist der Endwert 74.
kakakaGo
ist (1,1,1,4), also ist die Antwort 4111.
guṅKo
ist (3,2), also codiert 23. ( gungKo
wenn ASCII verwendet wird) -Äquivalent.)
Eingang
- Eine Zeichenfolge, die einen Kaadi-codierten Text enthält
- wird nur Vokale und die oben genannten Konsonanten enthalten
- Die Vokale sind immer in Kleinbuchstaben und kommen in Gruppen von nicht mehr als 2 vor
- Sie können die Buchstaben für 5 und 0 entweder als Unicode-Zeichen 'ṅ' und 'ñ' oder als ASCII-Entsprechungen 'ng' und 'ny' akzeptieren (in beiden Formaten in Kleinbuchstaben).
- Sie können davon ausgehen, dass es keine Leerzeichen oder Interpunktionen gibt
Ausgabe
- Der numerische Wert des Texts gemäß den obigen Regeln
- Für leere Eingaben ist eine leere Ausgabe oder eine falsche y-Ausgabe in der Sprache Ihrer Wahl zulässig, zusätzlich zu 0
- Für ungültige Eingaben (Eingaben mit Ausnahme von Vokalen und den oben genannten Konsonanten) ist die Ausgabe undefiniert - alles ist möglich
Testfälle
"GucCi"
=> 74
"kakakaGo"
=> 4111
"aiKaCiigukoJe"
=> 913720
""
=> 0 //OR empty/falsey output
"a"
=> 0
"ukkiKagijeCaGaacoJiiKka"
=> 1964783210
"kegJugjugKeg"
=> 2891
"guṅKo"
=> 23
"Guñaaka"
=> 104
"juñiKoṅe"
=>5208
(Die letzten können sein:
"gungKo"
=> 23
"Gunyaaka"
=> 104
"junyiKonge"
=>5208
wenn du das vorziehst.)
Es gelten die Standardregeln für E / A und Lücken . Möge der beste Golfer gewinnen!
ord(c)%47%10
hilfreich ist : Gibt einen eindeutigen Index [0..9]
für jeden Konsonanten an. (Mit ord("ṅ")=7749
und ord("ñ")=241
.)
aiaKaci
eingegeben werden? (3 führende Vokale)