เมื่อได้รับอินพุตของ "ถนน" ASCII อาร์ตเอาท์พุทถนนที่มีป้ายระบุจุดจบทั้งหมด
นี่คือถนน:
########.....######..#..###
#......#######....#..#..#.#
#.##......#...#####..#..###
#..#####..#....#..#######.#
#......#...#####.....##...#
#..###.#...#...###...#..###
##########.#..#..##..#.##.#
..#......#.######.#..#.#.#.
..#......#.#..#.#.#..#.#.#.
..######.###..##..#########
นี่คือถนนที่มีจุดจบตายติดป้ายกำกับด้วยตัวอักษรX
:
########.....######..X..###
#......#######....#..X..#.#
#.XX......X...X####..X..###
#..XXXXX..X....#..#######.#
#......X...#####.....##...#
#..###.X...#...###...#..###
##########.#..X..##..#.##.X
..X......#.#XXXXX.#..#.#.X.
..X......#.#..X.X.#..#.#.X.
..XXXXXX.###..XX..######XXX
ส่วนท้ายถูกกำหนดให้เป็นรูปแบบถนนใด ๆ ที่ล้อมรอบn รูปแบบของถนนอื่น ๆ อย่างน้อยn-1ซึ่งถือว่าเป็นจุดสิ้นสุดที่ตายแล้วตามกฎนี้ "Bordering" อยู่ในทิศทางที่สำคัญทั้งสี่ดังนั้นแผ่นที่มีพรมแดนติดกันจะไม่นับ
กฎนี้ถูกนำไปใช้ซ้ำ ๆ เป็นที่สร้างขึ้นใหม่ปลายตายสามารถตัวเองมากขึ้นสร้างปลายตาย โปรดทราบว่าการเรียงต่อกันของถนนใด ๆ ที่มีการเรียงต่อกันนั้นจะถือว่าเป็นจุดสิ้นสุดในครั้งแรกที่มีการใช้กฎ
อินพุตและเอาต์พุตอาจเป็นสตริงเดี่ยว (โดยมีบรรทัดคั่นด้วยอักขระใด ๆ ที่ไม่ใช่#
หรือ.
) หรืออาร์เรย์ / list / etc หากภาษาของคุณรองรับคุณอาจป้อนข้อมูลด้วยแต่ละบรรทัดเป็นอาร์กิวเมนต์ของฟังก์ชัน
คุณอาจสันนิษฐานต่อไปนี้เกี่ยวกับอินพุต:
จะมี "ลูป" อย่างน้อยหนึ่งครั้งนั่นคือกลุ่มของ
#
อักขระที่สามารถติดตามได้อย่างไม่สิ้นสุด (มิฉะนั้นกระเบื้องทุกแผ่นจะกลายเป็นจุดจบ)นี่หมายความว่าอินพุตจะเป็น 2 × 2 หรือใหญ่กว่าเสมอเนื่องจากลูปที่เล็กที่สุดคือ:
## ##
(ซึ่งบังเอิญควรส่งออกโดยไม่มีการเปลี่ยนแปลง)
#
ตัวละครทั้งหมดจะถูกเชื่อมต่อ นั่นคือถ้าคุณต้องเติมน้ำท่วมใด ๆ#
พวกเขาทั้งหมดจะได้รับผลกระทบ
เนื่องจากนี่คือcode-golfรหัสที่สั้นที่สุดเป็นไบต์จะเป็นผู้ชนะ
ตัวอย่างด้านบนและตารางขนาดเล็ก 2 × 2 สามารถใช้เป็นกรณีทดสอบได้ (มีกรณีขอบจำนวนไม่มากที่จะครอบคลุมในการท้าทายนี้)