Arborally задоволені задане значення є 2D безлічі точок, що для будь-якої осі вирівняно прямокутника , який може бути утворений з використанням двох точок в наборі як протилежні кути, що прямокутник містить або штрихи , щонайменше , один іншу точку. Ось еквівалентне визначення з Вікіпедії:
Набір точок вважається арборально задоволеним, якщо має місце наступне властивість: для будь-якої пари точок, які не лежать на одній горизонтальній чи вертикальній прямій, існує третя точка, яка лежить у прямокутнику, що охоплюється першими двома точками ( або всередині, або на межі).
Наступне зображення ілюструє, як утворюються прямокутники. Цей набір точок НЕ задоволений арборально, оскільки цей прямокутник повинен містити принаймні ще одну точку.
У мистецтві ASCII цей набір точок може бути представлений як:
......
....O.
......
.O....
......
Невелика модифікація може зробити це арборально задоволеним:
......
....O.
......
.O..O.
......
Вище видно, що всі прямокутники (з яких є лише один) містять щонайменше три точки.
Ось ще один приклад складнішого набору точок, який задовольняється арборально:
Для будь-якого прямокутника, який може бути намальований на дві точки, цей прямокутник містить щонайменше одну точку.
Змагання
Враховуючи прямокутну сітку точок (яку я представляю O
) та порожній простір (який я представляю .
), виведіть триєтне значення, якщо воно задоволено арборально, або значення фальси, якщо це не так. Це код-гольф.
Додаткові правила:
- Ви можете вибрати символи
O
та.
замінити їх будь-якою іншою парою символів для друку ASCII. Просто вкажіть, яке відображення символів використовує ваша програма. - Сітка завжди буде прямокутної. Доступний новий рядок.
Більше прикладів
Арборально задоволений:
.OOO.
OO...
.O.OO
.O..O
....O
..O..
OOOO.
...O.
.O.O.
...OO
O.O.
..O.
OOOO
.O.O
OO..
...
...
...
...
..O
...
O.....
O.O..O
.....O
OOO.OO
Не задоволений арборальною справою:
..O..
O....
...O.
.O...
....O
..O..
O.OO.
...O.
.O.O.
...OO
O.....
..O...
.....O