Фон
Ви учень потужного майстра, і ваш господар зараз розробляє заклинання для створення міжвимірного лабіринту, щоб захопити своїх ворогів. Він хоче, щоб ви запрограмували його комп’ютер на паровій основі для аналізу можливих макетів. Програмування цієї диявольської машини вкрай небезпечно, тому вам потрібно буде зберегти код якомога коротше.
Вхідні дані
Ваш вхід - це двовимірна сітка періодів .
і хесів #
, що означають порожній простір і стіни, задані у вигляді рядка з обмеженою лінією. Завжди буде принаймні один .
і один #
, і ви можете вирішити, чи є новий чистий новий рядок чи ні.
Ця сітка - це план нескінченного лабіринту, який виготовляється шляхом вирівнювання нескінченно багатьох копій сітки один до одного. Лабіринт розділений на порожнини , які з'єднані компонентами порожніх просторів (діагонально суміжні простори не з'єднані). Наприклад, сітка
##.####
...##..
#..#..#
####..#
##...##
призводить до наступного лабіринту (триває нескінченно у всіх напрямках):
##.######.######.####
...##.....##.....##..
#..#..##..#..##..#..#
####..#####..#####..#
##...####...####...##
##.######.######.####
...##.....##.....##..
#..#..##..#..##..#..#
####..#####..#####..#
##...####...####...##
##.######.######.####
...##.....##.....##..
#..#..##..#..##..#..#
####..#####..#####..#
##...####...####...##
Цей конкретний лабіринт містить порожнину нескінченної області. З іншого боку, цей креслення призводить до лабіринту з лише кінцевими порожнинами:
##.####
##..###
####...
..####.
#..####
Вихідні дані
Вихід має бути правдоподібним, якщо лабіринт містить нескінченну порожнину, а помилкове значення - якщо ні. Зауважте, що лабіринт може містити як кінцеву, так і нескінченну порожнини; у цьому випадку результат повинен бути правдоподібним.
Правила
Ви можете написати повну програму або функцію. Виграє найменший кількість байтів, а стандартні лазівки заборонені.
Додаткові випробувальні випадки
Нескінченні порожнини:
.#
#.#
...
#.#
#.###.#.###.#
#.#...#...#.#
#.#.#####.#.#
..#.#...#.#..
###.#.#.#.###
#...#.#.#...#
#.###.#.###.#
##.###
#..###
..##..
###..#
##..##
..#..#..#..#..#..#
.#..#..#..#..#..#.
#..#..#..#..#..#..
#.####.###.###.####
#...#..#...###..###
###.#..#.######..##
....####.#######...
###..###...########
##########.##....##
..###......##.##...
#.........##..#####
###########..###..#
#...........####..#
#.###########.##..#
#.##....##.....####
#.####.###.###.####
Кінцеві порожнини:
###
#.#
###
.#
#.
####
.#..
####
#.#.#
..#..
#####
..#..
#.#.#
#.#.#.#.#.#
..#...#.#..
###.###.###
..#.#......
#.#.#######
#.#.......#
#.#######.#
#.#.....#.#
#.#.#.#.#.#
##....#####
.#..#...##.
.##.#..#...
..###.###..
#..##.#####
#...##....#
#.#.#####.#
###..####.#
....####...
###...#####
###....##.#########
####...##....#...##
..####.#######.###.
....##..........##.
###..#####.#..##...
####..#..#....#..##
..###.####.#.#..##.
..###...#....#.#...
..####..##.###...##
#.####.##..#####.##
####...##.#####..##
###########
........#..
#########.#
..........#
.##########
.#.........
##.########
...#.......
.
і один #
.