ความท้าทายคือการค้นหาสตริงของอักขระที่ไม่สามารถปรากฏในโปรแกรมทางกฎหมายใด ๆในภาษาการเขียนโปรแกรมที่คุณเลือก ซึ่งรวมถึงความคิดเห็นสตริงหรือส่วนอื่น ๆ "ที่ไม่สามารถเรียกใช้งานได้"
ท้าทาย
- โปรแกรมของคุณอาจเฉพาะเจาะจงกับรุ่นที่เฉพาะเจาะจงหรือการใช้สภาพแวดล้อมคอมไพเลอร์ / ล่าม / รันไทม์ของภาษาของคุณ ถ้าเป็นเช่นนั้นโปรดระบุรายการ
- อนุญาตเฉพาะตัวเลือกคอมไพเลอร์ / ล่าม / รันไทม์มาตรฐาน คุณไม่สามารถส่งแฟล็กแปลก ๆ ไปยังคอมไพเลอร์ของคุณเพื่อรับผลลัพธ์เฉพาะ (เช่นการส่งแฟล็กเพื่อแปลงคำเตือนเป็นข้อผิดพลาด)
- หากภาษาการเขียนโปรแกรมของคุณต้องการการเข้ารหัสที่เฉพาะเจาะจง (เช่น UTF-8) สตริงของคุณจะต้องเข้ารหัสอย่างถูกต้อง (เช่นสตริงที่ล้มเหลวเพียงอย่างเดียวเนื่องจากข้อผิดพลาดในการถอดรหัสอักขระไม่ได้รับอนุญาต)
- ตัวละครทุกตัวที่คุณส่งจะต้องเป็นที่ยอมรับในโปรแกรมทางกฎหมาย นั่นคือคุณไม่สามารถใช้ตัวละครที่ถูกปฏิเสธได้เสมอ
- คอมไพเลอร์ / ล่าม / รันไทม์จะต้องให้ข้อผิดพลาดเมื่อได้รับรหัสที่มาใด ๆที่มีสตริงของคุณเป็นสตริงย่อย ข้อผิดพลาดไม่จำเป็นต้องเหมือนกันในทุกโปรแกรม - การฝังสตริงของคุณอาจทำให้เกิดข้อผิดพลาดทางไวยากรณ์ขณะที่อีกอันอาจทำให้เกิดข้อผิดพลาดรันไทม์
เกณฑ์การให้คะแนน
- สตริงผิดกฎหมายที่สั้นที่สุดสำหรับแต่ละภาษาชนะ
- คุณควรอธิบายว่าทำไมสายของคุณจึงผิดกฎหมาย (เหตุใดจึงไม่ปรากฏที่ใดก็ได้ในโปรแกรมทางกฎหมาย)
- ข้อพิพาทที่ไม่ถูกต้องในการแสดงความคิดเห็น โดยเฉพาะอย่างยิ่งคุณควรให้ลิงค์ไปยัง TIO หรือเทียบเท่าแสดงให้เห็นถึงโปรแกรมทางกฎหมาย (เช่นหนึ่งที่ไม่ได้ผลิตข้อผิดพลาดใด ๆ ) ที่มีซับสตริงที่เสนอ
- บางภาษา (เช่น Bash, Batch, Perl) อนุญาตให้ผนวกข้อมูลโดยพลการเข้ากับโปรแกรมโดยไม่มีผลต่อความถูกต้อง (เช่นใช้
__DATA__
ใน Perl) สำหรับภาษาดังกล่าวคุณสามารถส่งโซลูชันที่สามารถปรากฏได้เฉพาะในส่วนต่อท้าย ตรวจสอบให้แน่ใจว่าได้จดบันทึกสิ่งนั้นไว้ในคำตอบของคุณ (คำจำกัดความของ "ส่วนต่อท้าย" นี้ขึ้นอยู่กับภาษา แต่โดยทั่วไปหมายถึงข้อความใด ๆ หลังจากตัวแยกวิเคราะห์หยุดอ่านสคริปต์ทั้งหมด)
ตัวอย่าง
ใน Python ฉันอาจส่ง
x
"""
'''
แต่สิ่งนี้สามารถฝังลงในโปรแกรมที่มีขนาดใหญ่ขึ้น
"""
x
"""
'''
y
'''
ดังนั้นจึงไม่อนุญาต