Diberikan masukan dari "jalan" seni ASCII, menampilkan jalan dengan semua jalan buntu berlabel.
Ini jalan:
########.....######..#..###
#......#######....#..#..#.#
#.##......#...#####..#..###
#..#####..#....#..#######.#
#......#...#####.....##...#
#..###.#...#...###...#..###
##########.#..#..##..#.##.#
..#......#.######.#..#.#.#.
..#......#.#..#.#.#..#.#.#.
..######.###..##..#########
Ini adalah jalan dengan jalan buntu yang berlabel huruf X:
########.....######..X..###
#......#######....#..X..#.#
#.XX......X...X####..X..###
#..XXXXX..X....#..#######.#
#......X...#####.....##...#
#..###.X...#...###...#..###
##########.#..X..##..#.##.X
..X......#.#XXXXX.#..#.#.X.
..X......#.#..X.X.#..#.#.X.
..XXXXXX.###..XX..######XXX
Jalan buntu didefinisikan sebagai setiap ubin jalan yang berbatasan dengan n ubin jalan lain, setidaknya n-1 yang dianggap sudah mati oleh peraturan ini. "Berbatasan" ada di empat arah mata angin, jadi ubin yang berbatasan secara diagonal tidak masuk hitungan.
Aturan ini diterapkan berulang kali, karena jalan buntu yang baru dibuat dapat, dengan sendirinya, menciptakan lebih banyak jalan buntu . Perhatikan juga bahwa ubin jalan apa pun yang berbatasan hanya dengan satu ubin jalan lain dianggap buntu saat pertama kali aturan diterapkan.
Input dan output dapat berupa string tunggal (dengan garis yang dipisahkan oleh karakter apa pun yang bukan #atau .) atau array / daftar / dll. Jika bahasa Anda mendukungnya, Anda juga dapat mengambil input dengan setiap baris menjadi argumen fungsi.
Anda dapat mengasumsikan berikut tentang input:
Akan selalu ada setidaknya satu "loop" —yaitu, sekelompok
#karakter yang dapat diikuti tanpa batas. (Kalau tidak, setiap ubin akan menjadi jalan buntu.)Ini menyiratkan bahwa input akan selalu 2 × 2 atau lebih besar, karena loop terkecil adalah:
## ##(Yang, kebetulan, harus berupa output tanpa perubahan.)
Semua
#karakter akan terhubung. Artinya, jika Anda melakukan mengisi banjir pada siapa saja#, semuanya akan terpengaruh.
Karena ini adalah kode-golf , kode terpendek dalam byte akan menang.
Contoh di atas dan kisi 2 × 2 yang kecil dapat digunakan sebagai kasus uji (tidak ada banyak kasus tepi untuk dibahas dalam tantangan ini).