คุณได้พบกับต้นฉบับอินเดียโบราณเล่มหนึ่งที่อธิบายถึงสมบัติที่ฝังอยู่ ต้นฉบับยังบอกตำแหน่งของสมบัติให้คุณยกเว้นว่ามีการเข้ารหัสตัวเลขสำคัญบางอย่างในทางอ้อม คุณเข้าใจว่าข้อความใช้ระบบ 'Kaadi' ซึ่งเป็นชุดย่อยที่ จำกัด ของระบบ 'Katapayadi' ที่ใช้กันทั่วไปมากกว่า
( ระบบ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
หากคุณต้องการมัน)
กฎระเบียบมาตรฐานสำหรับI / Oและช่องโหว่ใช้ ขอให้นักกอล์ฟที่ดีที่สุดชนะ!
ord(c)%47%10
ให้ดัชนีที่ไม่ซ้ำกัน[0..9]
สำหรับแต่ละพยัญชนะ (ด้วยord("ṅ")=7749
และord("ñ")=241
.)
aiaKaci
ป้อนข้อมูลได้หรือไม่ (3 เสียงสระชั้นนำ)