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. kacCi
a 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.
aikaCi
serait:ai
,ka
,Ci
= (0,1,7)Les voyelles supplémentaires n'importe où ailleurs au milieu du texte n'ont aucune valeur:
kauCia
est 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.
GucCi
a Gu
et Ci
, donc (4, 7), donc la valeur finale est 74.
kakakaGo
est (1,1,1,4), donc la réponse est 4111.
guṅKo
est (3,2), donc code 23. ( gungKo
si 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%10
donne un index unique [0..9]
pour chaque consonne. (Avec ord("ṅ")=7749
et ord("ñ")=241
.)
aiaKaci
être saisi? (3 voyelles principales)