30
จริงหรือเปล่า? ถามเจลลี่!
พื้นหลัง แรงบันดาลใจจากอ็อกเทฟ (และโดยการขยาย MATL's) การตีความที่สะดวกมากของเมทริกซ์ความจริง / ความเท็จเยลลี่ได้รับอะตอมอะตอมȦ (ออคเทฟทั้งหมด ) Ȧใช้เวลาอาร์เรย์เป็น input และส่งกลับ1ถ้าอาร์เรย์คือไม่ว่างและไม่ได้มีจำนวน0 (จำนวนเต็มลอยหรือซับซ้อน) ที่ใดก็ได้ในโครงสร้าง ; มิฉะนั้นก็จะส่งกลับ0 ตัวอย่างเช่นอาร์เรย์[[]]เป็นความจริงเพราะมันไม่ว่างเปล่าและไม่มีเลขศูนย์ แต่[[0]]เป็นเท็จเพราะมันมีค่า0อยู่ที่ระดับชั้นในสุด งาน ในภาษาการเขียนโปรแกรมที่คุณเลือกให้เขียนโปรแกรมเต็มรูปแบบหรือฟังก์ชั่นที่ใช้อาร์เรย์จำนวนเต็มที่อาจว่างเปล่าและขรุขระเป็นอินพุตและพิมพ์หรือส่งคืนค่าความจริงหรือเท็จที่ระบุว่าȦจะคืนค่า1หรือ0ตามลำดับ การส่งของคุณจะต้องปฏิบัติตามกฎต่อไปนี้ ค่าความจริงและเท็จจะต้องสอดคล้องกับอินพุตทั้งหมดเช่นอาร์เรย์ทั้งหมดที่Ȧคืน1ต้องจับคู่กับค่าความจริงเดียวกันและอาร์เรย์ทั้งหมดที่ all คืน0ต้องจับคู่กับค่าเท็จเดียวกัน เนื่องจากโปรแกรมแบบเต็มสามารถใช้การแทนค่าสตริงของอาร์เรย์เป็นอินพุตจึงอนุญาตให้ทำได้ อย่างไรก็ตามคุณต้องใช้การแสดงคานคาลิกในภาษาของคุณโดยส่งคืนโดยreprหรือคล้ายกัน โดยเฉพาะอย่างยิ่งคุณไม่สามารถสันนิษฐานได้ว่าองค์ประกอบแรกของอาร์เรย์จะนำหน้าด้วยช่องว่าง หาก (และเฉพาะในกรณี) ภาษาของคุณไม่สามารถแทนอาร์เรย์แบบขรุขระได้คุณอาจใช้การแทนค่าสตริงของอินพุตโดยใช้ไวยากรณ์ที่เป็นมาตรฐานของภาษาการเขียนโปรแกรมที่มีอยู่แล้ว หากภาษาของคุณมีหลายวิธีในการแทนอาร์เรย์แบบขรุขระ (เช่นรายการและสิ่งอันดับ) คุณจะต้องสนับสนุนหนึ่งในนั้นเท่านั้น ถ้าภาษาของคุณได้ในตัวว่าตัวเองเป็นส่งที่ถูกต้องเพื่อความท้าทายนี้คุณไม่สามารถใช้มันในคำตอบของคุณ อนุญาตบิวด์อินอื่นทั้งหมด คุณควรโพสต์คำตอบโดยใช้ทั้งอาร์เรย์และการจัดการสตริงแม้ว่าจะสั้นกว่าอีก ใช้กฎมาตรฐานรหัสกอล์ฟทั้งหมด อาจรหัสที่สั้นที่สุดในไบต์ชนะ! กรณีทดสอบความจริง [1] [10] [[]] [[[[1]]]] [[], [1], [1, 2]] [[1], [1, [2]], …