Vous êtes tombé sur un vieux manuscrit indien, qui décrit des monticules de trésors enfouis. Le manuscrit vous indique également l'emplacement du trésor, sauf que certains nombres cruciaux ont été encodés indirectement dans le texte. Vous comprenez que le texte utilise un système «Kaadi», un sous-ensemble restreint du système «Katapayadi» plus courant.
(Le système Katapayadi est un ancien système indien pour coder des chiffres sous forme de lettres, souvent utilisé comme mnémonique pour se souvenir de nombres longs.)
Votre tâche ici est de décoder le texte encodé dans le système Kaadi et d'imprimer la valeur numérique.
Détails
Saisir des caractères
Le système Kaadi est basé sur les règles du système Katapayadi , mais n'utilise que la première rangée de consonnes. Votre texte ici a été translittéré en alphabet latin et ne contient que:
- voyelles 'a', 'e', 'i', 'o', 'u'
- les consonnes «g», «k», «c», «j» et leurs formes majuscules (pour représenter la forme aspirée de ces consonnes), et «ṅ» et «ñ».
(Vous pouvez choisir de recevoir et de gérer «ṅ» comme «ng» et «ñ» comme «ny» si cela est plus pratique dans votre langue.)
Attribution de valeur
Dans ce système,
chaque consonne suivie d'une voyelle est associée à un chiffre. Ceux-ci sont:
'k'=>1, 'K'=>2,
'g'=>3, 'G'=>4,
'ṅ'=>5,
'c'=>6, 'C'=>7,
'j'=>8, 'J'=>9,
'ñ'=>0
Notez cependant que ces valeurs ne s'appliquent que lorsque ces consonnes sont suivies d'une voyelle. kacCia la même valeur que kaCi( ka, Ci= (1,7)) car le milieu c n'est pas accompagné d'une voyelle.
En outre, une voyelle ou une séquence de deux voyelles représente un 0.
aikaCiserait:ai,ka,Ci= (0,1,7)Les voyelles supplémentaires n'importe où ailleurs au milieu du texte n'ont aucune valeur:
kauCiaest la même quekaCi, les voyelles supplémentaires peuvent être ignorées.
Valeur numérique finale
Une fois que les valeurs des chiffres des lettres ont été déterminées, la valeur numérique finale est obtenue comme l'ordre inverse de ces chiffres, c'est-à-dire que le premier chiffre du texte est le chiffre le moins significatif de la valeur finale.
Par exemple.
GucCia Guet Ci, donc (4, 7), donc la valeur finale est 74.
kakakaGoest (1,1,1,4), donc la réponse est 4111.
guṅKoest (3,2), donc code 23. ( gungKosi vous utilisez ASCII -équivalent.)
Contribution
- Une chaîne contenant un texte encodé en Kaadi
- ne contiendra que des voyelles et les consonnes ci-dessus
- les voyelles sont toujours en minuscules et apparaissent en groupes de 2 au maximum
- vous pouvez choisir d'accepter les lettres pour 5 et 0 soit comme leurs caractères Unicode '' 'et' ñ 'ou comme leurs équivalents ASCII' ng 'et' ny '(ils sont en minuscules dans les deux formes)
- vous pouvez supposer qu'il n'y a ni espace ni ponctuation
Production
- La valeur numérique du texte, telle que donnée par les règles ci-dessus
- pour une entrée vide, une sortie vide ou toute sortie faux-y dans la langue de votre choix est acceptable, en plus de 0
- pour une entrée invalide (entrée avec autre chose que des voyelles et les consonnes ci-dessus), la sortie n'est pas définie - tout va
Cas de test
"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
(les derniers peuvent être:
"gungKo"
=> 23
"Gunyaaka"
=> 104
"junyiKonge"
=>5208
si vous préférez.)
Les règles standard pour les E / S et les failles s'appliquent. Que le meilleur golfeur gagne!
ord(c)%47%10donne un index unique [0..9]pour chaque consonne. (Avec ord("ṅ")=7749et ord("ñ")=241.)
aiaKaciêtre saisi? (3 voyelles principales)