У мене серйозна проблема. У мене є кілька текстових файлів, де я зберігаю свої дуже важливі номери - всі важливі! І двійки, і трійки ..
Ці числа були настільки важливими, що я не міг довірити їх тим новомодним десятковим чи двійковим системам числення. Я тримав кожне число, закодоване в одинаковому вигляді:
+--+
| |
+---+ +----+ |
| | | |
+---+ +-------+
~/two.txt
Просте та надійне: дві петлі ASCII для числа 2. На жаль, ці речі, як правило, заплутуються з часом, і тепер я важко з'ясував, скільки циклів у кожному файлі. Ось кілька прикладів, які я опрацював вручну:
Перший:
+---+
| |
+--+ |
| |
+--+ |
| |
| |
| |
+--+ +--+
| |
+---------+
Три:
+---------+
| +-----+ |
| | +-+ | |
| | | | | |
| | +-+ | |
| +-----+ |
+---------+
Четверте:
+--------------+
| +--+ +--+ |
| | | | | |
+-|-----|-----|----+
| | | | | | | |
| +--+ +--+ +--+ |
+------------------+
+------------+
| |
+-----+ +-----+ |
| | | |
+-----|-----------+ | |
| | +--+ | | | |
+-+ +--|--|--+ +---------+
| | +-+ | | |
+------+ | | | |
+-------+ | |
|| | |
|+-----+
| |
+---+
П'ять:
+--------+ +--------+ +--------+
| | | | | |
| +--|-----+ +--|-----+ |
| | | | | | | | | |
+-----|--+ +-----|--+ +--------+
| | | |
+--------+ +--------+
Чи можете ви допомогти мені порахувати мої петлі?
Ось правила:
- Оскільки я зберігаю все в кодованому ASCII одинарному, ефективність простору для мене дуже важлива. Тому це код гольфу. Виграє найменша програма в байтах.
- Петлі малюються символами +, -, |. Кожен куточок у циклі малюється однозначно: точно один із символів вгорі та під знаком + буде | |, а точно один праворуч чи ліворуч буде -. Два знаки + ніколи не є суміжними.
- Пасма можуть переходити одна під одну і під одну. Коли пасма схрещуються, ви зможете побачити пасмо «під» відразу з обох сторін пасма «над».
- Ваша програма повинна приймати рядкове цикл (або від stdin, або як функціональний параметр) і створювати число (або для stdout, або як повернене значення).
- Довжина ліній може бути не однаковою на кресленні циклу, і на кожному рядку можуть бути пробіли.
- Ви можете припустити, що на вході є хоча б одна петля.
Я розраховую на тебе!
+
?