Вы натолкнулись на старую индийскую рукопись, которая описывает кучу захороненных сокровищ. Рукопись также сообщает вам местонахождение сокровища, за исключением того, что некоторые важные цифры были косвенно закодированы в текст. Вы выясните, что в тексте используется система «Каади», ограниченное подмножество более распространенной системы «Катапаяди».
(Система Katapayadi - это древняя индийская система кодирования цифр в виде букв, часто используемая как мнемоника для запоминания длинных чисел.)
Ваша задача здесь состоит в том, чтобы декодировать текст, закодированный в системе Kaadi, и распечатать числовое значение.
Детали
Введите символы
Система Kaadi основана на правилах системы Katapayadi , но использует только первый ряд согласных. Ваш текст здесь транслитерирован на латинский алфавит и, как известно, содержит только:
- гласные 'a', 'e', 'i', 'o', 'u'
- согласные «g», «k», «c», «j» и их заглавные буквы (для представления аспирированной формы этих согласных), а также «ṅ» и «ñ».
(Вы можете получать и обрабатывать 'ṅ' как 'ng', а 'ñ' как 'ny', если это более удобно на вашем языке.)
Присвоение значения
В этой системе
с каждой согласной, сопровождаемой гласным, связана цифра. Эти:
'k'=>1, 'K'=>2,
'g'=>3, 'G'=>4,
'ṅ'=>5,
'c'=>6, 'C'=>7,
'j'=>8, 'J'=>9,
'ñ'=>0
Однако обратите внимание, что эти значения применяются только тогда, когда за этими согласными следует гласный. kacCi
имеет то же значение, что и kaCi
( ka
, Ci
= (1,7)), так как середина c не сопровождается гласной.
Кроме того, начальный гласный или последовательность из двух гласных представляет собой 0.
aikaCi
будет:ai
,ka
,Ci
= (0,1,7)Дополнительные гласные где-либо еще в середине текста не имеют значения:
kauCia
то же самоеkaCi
, что дополнительные гласные можно игнорировать.
Конечное числовое значение
После того, как значения цифр букв были вычислены, окончательное числовое значение получается как обратный порядок этих цифр, т.е. первая цифра в тексте является наименее значимой цифрой в конечном значении.
Например.
GucCi
имеет Gu
и Ci
, таким образом (4, 7), поэтому конечное значение 74.
kakakaGo
является (1,1,1,4), поэтому ответ 4111.
guṅKo
является (3,2), поэтому кодируется 23. ( gungKo
если используется ASCII -эквивалентны.)
вход
- Строка, содержащая текст в кодировке Kaadi
- будет содержать только гласные и вышеуказанные согласные
- гласные всегда в нижнем регистре и встречаются в группах не более 2
- Вы можете принять буквы 5 и 0 либо как их символы Unicode 'ṅ' и 'ñ', либо как их эквиваленты ASCII 'ng' и 'ny' (они в нижнем регистре в любой форме)
- Вы можете предположить, что нет пробелов или знаков препинания
Выход
- Числовое значение текста, как указано выше правил
- для пустого ввода допустим пустой вывод или любой вывод false-y на выбранном вами языке, в дополнение к 0
- для неверного ввода (ввод с чем-либо, кроме гласных и вышеуказанных согласных), вывод не определен - все идет
Контрольные примеры
"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
(последние могут быть:
"gungKo"
=> 23
"Gunyaaka"
=> 104
"junyiKonge"
=>5208
если ты предпочитаешь это.)
Применяются стандартные правила для ввода / вывода и лазеек . Пусть победит лучший гольфист!
ord(c)%47%10
дает уникальный индекс [0..9]
для каждого согласного. (С ord("ṅ")=7749
и ord("ñ")=241
.)
aiaKaci
вводить? (3 ведущих гласных)