Вы натолкнулись на старую индийскую рукопись, которая описывает кучу захороненных сокровищ. Рукопись также сообщает вам местонахождение сокровища, за исключением того, что некоторые важные цифры были косвенно закодированы в текст. Вы выясните, что в тексте используется система «Каади», ограниченное подмножество более распространенной системы «Катапаяди».
(Система 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 ведущих гласных)