มากำหนดฟังก์ชั่น "ขนาดที่ไม่ได้ห่อ" uของรายการซ้อนl(มีเพียงรายการ) โดยกฎต่อไปนี้:
- ถ้า
lว่างแล้วก็u(l)คือ 1 - หาก
lไม่ว่างเปล่าu(l)เท่ากับผลรวมของขนาดที่ยังไม่ได้เปิดของทุกองค์ประกอบในlบวกอีกหนึ่ง
งานของคุณคือการเขียนโปรแกรม (หรือฟังก์ชั่น) ที่ใช้รายการเป็นอินพุตและเอาต์พุต (หรือส่งคืน) ขนาดที่ไม่ได้ตัดทิ้งของรายการ
กรณีทดสอบ:
[] -> 1
[[[]],[]] -> 4
[[[]],[[[[]],[]]],[[[]],[[[[]],[[],[[]]]]]]] -> 19
[[[[]]]] -> 4
นี่คือรหัสกอล์ฟดังนั้นโปรแกรมที่สั้นที่สุด (เป็นไบต์) จะชนะ
[[[]][]]แทนสิ่งนี้[[[]],[]]ในตัวอย่างที่สองของคุณได้ไหม?
["This is some text [with square brackets in] ...[& maybe more than one pair]"]คืออะไร?
]ดูเหมือนจะเป็นทางออกที่สั้นที่สุดในหลายภาษา แต่ก็มีคำตอบมากมายที่จริง ๆ แล้วแก้ปัญหานี้ผ่านการจัดการรายการ การเกิดขึ้นของอักขระอินพุต
()แทนได้[]หรือไม่