Bạn đã bắt gặp một bản thảo cũ của Ấn Độ, một bản mô tả các ụ của kho báu bị chôn vùi. Bản thảo cũng cho bạn biết vị trí của kho báu, ngoại trừ một số con số quan trọng đã được mã hóa gián tiếp vào văn bản. Bạn nhận ra rằng văn bản sử dụng hệ thống 'Kaadi', một tập hợp con bị hạn chế của hệ thống 'Katapayadi' phổ biến hơn.
( Hệ thống Katapayadi là một hệ thống Ấn Độ cổ đại để mã hóa các chữ số dưới dạng chữ cái, thường được sử dụng làm ký hiệu để ghi nhớ các số dài.)
Nhiệm vụ của bạn ở đây là giải mã văn bản được mã hóa trong hệ thống Kaadi và in ra giá trị số.
Chi tiết
Nhập ký tự
Hệ thống Kaadi dựa trên các quy tắc của hệ thống Katapayadi , nhưng chỉ sử dụng hàng phụ âm đầu tiên. Văn bản của bạn ở đây đã được phiên âm sang bảng chữ cái Latinh và được biết là chỉ chứa:
- nguyên âm 'a', 'e', 'i', 'o', 'u'
- phụ âm 'g', 'k', 'c', 'j', và các hình thức vốn của họ (đại diện cho hút khí dạng những phụ âm), và 'N' và 'N'.
(Bạn có thể chọn nhận và xử lý '' là 'ng' và 'ñ' là 'ny' nếu điều đó thuận tiện hơn trong ngôn ngữ của bạn.)
Giao giá trị
Trong hệ thống này,
mỗi phụ âm khi theo sau một nguyên âm có một chữ số liên quan đến nó. Đó là:
'k'=>1, 'K'=>2,
'g'=>3, 'G'=>4,
'ṅ'=>5,
'c'=>6, 'C'=>7,
'j'=>8, 'J'=>9,
'ñ'=>0
Tuy nhiên, lưu ý rằng các giá trị này chỉ áp dụng khi các phụ âm này được theo sau bởi một nguyên âm. kacCi
có cùng giá trị với kaCi
( ka
, Ci
= (1,7)) vì phần giữa c không được kèm theo nguyên âm.
Ngoài ra, một nguyên âm ban đầu hoặc chuỗi của hai nguyên âm đại diện cho một 0.
aikaCi
sẽ là:ai
,ka
,Ci
= (0,1,7)Nguyên âm phụ ở bất cứ nơi nào khác ở giữa văn bản không có giá trị:
kauCia
cũng giống nhưkaCi
, nguyên âm phụ có thể bị bỏ qua.
Giá trị số cuối cùng
Khi các giá trị chữ số của các chữ cái đã được tìm ra, giá trị số cuối cùng được lấy là thứ tự ngược của các chữ số đó, tức là chữ số đầu tiên từ văn bản là chữ số có nghĩa ít nhất trong giá trị cuối cùng.
Ví dụ.
GucCi
có Gu
và Ci
, vì vậy (4, 7), vì vậy giá trị cuối cùng là 74.
kakakaGo
là (1,1,1,4), vì vậy câu trả lời là 4111.
guṅKo
là (3,2), vì vậy mã hóa 23. ( gungKo
nếu sử dụng ASCII -tương đương.)
Đầu vào
- Một chuỗi chứa văn bản được mã hóa Kaadi
- sẽ chỉ chứa các nguyên âm và các phụ âm trên
- nguyên âm luôn ở dạng chữ thường và xuất hiện trong các nhóm không quá 2
- bạn có thể chọn chấp nhận các chữ cái cho 5 và 0 dưới dạng ký tự Unicode 'ṅ' và 'ñ' hoặc dưới dạng tương đương ASCII của chúng 'ng' và 'ny' (chúng ở dạng chữ thường ở dạng chữ thường)
- bạn có thể cho rằng không có dấu cách hoặc dấu chấm câu
Đầu ra
- Giá trị bằng số của văn bản, được đưa ra bởi các quy tắc trên
- đối với đầu vào trống, đầu ra trống hoặc bất kỳ đầu ra sai nào trong ngôn ngữ bạn chọn đều được chấp nhận, ngoài 0
- đối với đầu vào không hợp lệ (đầu vào với bất kỳ thứ gì ngoài nguyên âm và các phụ âm ở trên), đầu ra không được xác định - mọi thứ đều ổn
Các trường hợp thử nghiệm
"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
(những cái cuối cùng có thể là:
"gungKo"
=> 23
"Gunyaaka"
=> 104
"junyiKonge"
=>5208
nếu bạn thích điều đó.)
Quy tắc chuẩn cho I / O và sơ hở được áp dụng. Chúc các golfer giành chiến thắng tốt nhất!
ord(c)%47%10
đưa ra một chỉ mục duy nhất [0..9]
cho mỗi phụ âm. (Với ord("ṅ")=7749
và ord("ñ")=241
.)
aiaKaci
là đầu vào? (3 nguyên âm hàng đầu)