Te has encontrado con un viejo manuscrito indio, uno que describe montones de tesoros enterrados. El manuscrito también le dice la ubicación del tesoro, excepto que algunos números cruciales se han codificado indirectamente en el texto. Usted se da cuenta de que el texto usa un sistema 'Kaadi', un subconjunto restringido del sistema más común 'Katapayadi'.
(El sistema Katapayadi es un antiguo sistema indio para codificar números como letras, a menudo utilizado como mnemotecnia para recordar números largos).
Su tarea aquí es decodificar texto codificado en el sistema Kaadi e imprimir el valor numérico.
Detalles
Caracteres de entrada
El sistema Kaadi se basa en las reglas del sistema Katapayadi , pero usa solo la primera fila de consonantes. Su texto aquí se ha transcrito al alfabeto latino y se sabe que contiene solo:
- vocales 'a', 'e', 'i', 'o', 'u'
- consonantes 'g', 'k', 'c', 'j' y sus formas capitales (para representar la forma aspirada de esas consonantes), y 'ṅ' y 'ñ'.
(Puede elegir recibir y manejar 'ṅ' como 'ng' y 'ñ' como 'ny' si eso es más conveniente en su idioma).
Asignación de valor
En este sistema
cada consonante cuando es seguida por una vocal tiene un dígito asociado. Estos son:
'k'=>1, 'K'=>2,
'g'=>3, 'G'=>4,
'ṅ'=>5,
'c'=>6, 'C'=>7,
'j'=>8, 'J'=>9,
'ñ'=>0
Sin embargo, tenga en cuenta que estos valores se aplican solo cuando estas consonantes son seguidas por una vocal. kacCi
tiene el mismo valor que kaCi
( ka
, Ci
= (1,7)) ya que el medio c no está acompañado por una vocal.
Además, un vocal inicial o la secuencia de dos vocales representa un 0.
aikaCi
ser sería:ai
,ka
,Ci
= (0,1,7)Las vocales adicionales en cualquier otro lugar en el medio del texto no tienen valor:
kauCia
es lo mismokaCi
, las vocales adicionales pueden ignorarse.
Valor numérico final
Una vez que se han calculado los valores de los dígitos de las letras, el valor numérico final se obtiene como el orden inverso de esos dígitos, es decir, el primer dígito del texto es el dígito menos significativo en el valor final.
P.ej.
GucCi
tiene Gu
y Ci
, entonces (4, 7), entonces el valor final es 74.
kakakaGo
es (1,1,1,4), entonces la respuesta es 4111.
guṅKo
es (3,2), entonces codifica 23. ( gungKo
si usa ASCII -equivalente.)
Entrada
- Una cadena que contiene un texto codificado en Kaadi
- contendrá solo vocales y las consonantes anteriores
- las vocales siempre están en minúsculas y ocurren en grupos de no más de 2
- puede elegir aceptar las letras para 5 y 0 como sus caracteres Unicode 'ṅ' y 'ñ' o como sus equivalentes ASCII 'ng' y 'ny' (están en minúsculas en cualquier forma)
- puede suponer que no hay espacios ni signos de puntuación
Salida
- El valor numérico del texto, dado por las reglas anteriores.
- para entradas vacías, una salida vacía o cualquier salida falsa y en su idioma de elección es aceptable, además de 0
- para la entrada no válida (entrada con cualquier otra cosa que no sean vocales y las consonantes anteriores), la salida no está definida: todo vale
Casos de prueba
"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
(los últimos pueden ser:
"gungKo"
=> 23
"Gunyaaka"
=> 104
"junyiKonge"
=>5208
si prefieres eso)
Se aplican reglas estándar para E / S y lagunas . ¡Que gane el mejor golfista!
ord(c)%47%10
proporciona un índice único [0..9]
para cada consonante. (Con ord("ṅ")=7749
y ord("ñ")=241
.)
aiaKaci
puede ingresar? (3 vocales principales)