forked from UNN/2026-rff_mp
Доп.проверка
This commit is contained in:
parent
7e01d972c1
commit
443ec394f0
231
nikolaevda/docs/report_laba2.ipynb
Normal file
231
nikolaevda/docs/report_laba2.ipynb
Normal file
|
|
@ -0,0 +1,231 @@
|
|||
{
|
||||
"cells": [
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"id": "99cf9991",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"{\n",
|
||||
" \"cells\": [\n",
|
||||
" {\n",
|
||||
" \"cell_type\": \"markdown\",\n",
|
||||
" \"metadata\": {},\n",
|
||||
" \"source\": [\n",
|
||||
" \"# Лабораторная работа: Поиск выхода из лабиринта\\n\",\n",
|
||||
" \"\\n\",\n",
|
||||
" \"## 1. Постановка задачи\\n\",\n",
|
||||
" \"\\n\",\n",
|
||||
" \"Разработать программу для загрузки лабиринта из текстового файла, поиска пути от стартовой клетки до выхода с возможностью выбора алгоритма поиска, визуализации процесса и экспериментального сравнения эффективности алгоритмов.\\n\",\n",
|
||||
" \"\\n\",\n",
|
||||
" \"### Основные требования\\n\",\n",
|
||||
" \"\\n\",\n",
|
||||
" \"- Реализовать модель лабиринта (классы `Cell`, `Maze`)\\n\",\n",
|
||||
" \"- Реализовать загрузку лабиринта из файла с символами `#` (стена), `S` (старт), `E` (выход)\\n\",\n",
|
||||
" \"- Реализовать четыре алгоритма поиска пути: BFS, DFS, A*, Дейкстра\\n\",\n",
|
||||
" \"- Реализовать класс-оркестратор `MazeSolver` с возможностью смены стратегии\\n\",\n",
|
||||
" \"- Собрать статистику: время выполнения, количество посещённых клеток, длина пути\\n\",\n",
|
||||
" \"- Провести эксперименты на лабиринтах разной сложности\\n\",\n",
|
||||
" \"- Реализовать интерактивный режим с пошаговым управлением и отменой ходов\\n\",\n",
|
||||
" \"\\n\",\n",
|
||||
" \"### Использованные паттерны проектирования GoF\\n\",\n",
|
||||
" \"\\n\",\n",
|
||||
" \"| Паттерн | Где используется | Преимущества |\\n\",\n",
|
||||
" \"|---------|-----------------|---------------|\\n\",\n",
|
||||
" \"| **Builder** | `MazeBuilder`, `TextFileMazeBuilder` | Скрывает детали парсинга, легко добавлять новые форматы |\\n\",\n",
|
||||
" \"| **Strategy** | `PathFindingStrategy`, BFS, DFS, A*, Дейкстра | Динамическая смена алгоритма |\\n\",\n",
|
||||
" \"| **Observer** | `Observer`, `ConsoleDisplay` | Отделяет отображение от логики |\\n\",\n",
|
||||
" \"| **Command** | `Command`, `MoveCommand`, `CommandInvoker` | Undo/Redo, история ходов |\"\n",
|
||||
" ]\n",
|
||||
" },\n",
|
||||
" {\n",
|
||||
" \"cell_type\": \"markdown\",\n",
|
||||
" \"metadata\": {},\n",
|
||||
" \"source\": [\n",
|
||||
" \"## 2. Архитектура приложения\\n\",\n",
|
||||
" \"\\n\",\n",
|
||||
" \"Основные компоненты:\\n\",\n",
|
||||
" \"\\n\",\n",
|
||||
" \"- **Модель** – `Cell`, `Maze` (хранение сетки, проверка стен, получение соседей)\\n\",\n",
|
||||
" \"- **Загрузка** – `MazeBuilder`, `TextFileMazeBuilder` (парсинг `.txt`‑файлов)\\n\",\n",
|
||||
" \"- **Алгоритмы** – `BFSStrategy`, `DFSStrategy`, `AStarStrategy`, `DijkstraStrategy`\\n\",\n",
|
||||
" \"- **Оркестрация** – `MazeSolver` (управление стратегией, сбор статистики)\\n\",\n",
|
||||
" \"- **Визуализация** – `ConsoleDisplay` (отрисовка лабиринта, игрока, пути)\\n\",\n",
|
||||
" \"- **Интерактив** – `Player`, `MoveCommand`, `CommandInvoker` (перемещение, отмена/повтор)\"\n",
|
||||
" ]\n",
|
||||
" },\n",
|
||||
" {\n",
|
||||
" \"cell_type\": \"markdown\",\n",
|
||||
" \"metadata\": {},\n",
|
||||
" \"source\": [\n",
|
||||
" \"## 3. Реализация алгоритмов поиска пути\\n\",\n",
|
||||
" \"\\n\",\n",
|
||||
" \"| Алгоритм | Структура данных | Гарантия кратчайшего пути | Особенности |\\n\",\n",
|
||||
" \"|----------|-----------------|---------------------------|-------------|\\n\",\n",
|
||||
" \"| **BFS** | Очередь (`deque`) | Да | Обходит по слоям, гарантирует минимум шагов |\\n\",\n",
|
||||
" \"| **DFS** | Стек | Нет | Углубляется до конца, экономичен по памяти |\\n\",\n",
|
||||
" \"| **A*** | Приоритетная очередь (`heapq`) + эвристика | Да | Использует манхэттенское расстояние |\\n\",\n",
|
||||
" \"| **Дейкстра** | Приоритетная очередь (`heapq`) | Да | Частный случай A* с эвристикой 0 |\"\n",
|
||||
" ]\n",
|
||||
" },\n",
|
||||
" {\n",
|
||||
" \"cell_type\": \"markdown\",\n",
|
||||
" \"metadata\": {},\n",
|
||||
" \"source\": [\n",
|
||||
" \"## 4. Экспериментальная часть\\n\",\n",
|
||||
" \"\\n\",\n",
|
||||
" \"### Тестовые лабиринты\\n\",\n",
|
||||
" \"\\n\",\n",
|
||||
" \"| Имя | Размер | Описание |\\n\",\n",
|
||||
" \"|-----|--------|----------|\\n\",\n",
|
||||
" \"| tiny_simple | 10×10 | Маленький лабиринт с прямым путём |\\n\",\n",
|
||||
" \"| small_empty | 20×20 | Пустой лабиринт без стен |\\n\",\n",
|
||||
" \"| medium_dfs | 30×30 | Лабиринт среднего размера с тупиками |\\n\",\n",
|
||||
" \"| medium_complex | 40×40 | Сложный запутанный лабиринт |\\n\",\n",
|
||||
" \"| large_dfs | 50×50 | Большой лабиринт |\\n\",\n",
|
||||
" \"| very_large_dfs | 100×100 | Очень большой лабиринт |\\n\",\n",
|
||||
" \"| no_exit | 20×20 | Лабиринт без выхода |\\n\",\n",
|
||||
" \"\\n\",\n",
|
||||
" \"Каждый алгоритм запускался **5 раз** на каждом лабиринте, результаты усреднены.\"\n",
|
||||
" ]\n",
|
||||
" },\n",
|
||||
" {\n",
|
||||
" \"cell_type\": \"markdown\",\n",
|
||||
" \"metadata\": {},\n",
|
||||
" \"source\": [\n",
|
||||
" \"### Результаты замеров\\n\",\n",
|
||||
" \"\\n\",\n",
|
||||
" \"| Лабиринт | Алгоритм | Время (мс) | Посещено клеток | Длина пути |\\n\",\n",
|
||||
" \"|----------|----------|------------|-----------------|------------|\\n\",\n",
|
||||
" \"| tiny_simple (10x10) | BFS | 0.11 | 29 | 19 |\\n\",\n",
|
||||
" \"| tiny_simple (10x10) | DFS | 0.07 | 29 | 19 |\\n\",\n",
|
||||
" \"| tiny_simple (10x10) | A* | 0.17 | 29 | 19 |\\n\",\n",
|
||||
" \"| tiny_simple (10x10) | Дейкстра | 0.15 | 29 | 19 |\\n\",\n",
|
||||
" \"| small_empty (20x20) | BFS | 1.35 | 400 | 39 |\\n\",\n",
|
||||
" \"| small_empty (20x20) | DFS | 1.02 | 400 | 191 |\\n\",\n",
|
||||
" \"| small_empty (20x20) | A* | 2.61 | 400 | 39 |\\n\",\n",
|
||||
" \"| small_empty (20x20) | Дейкстра | 1.02 | 400 | 39 |\\n\",\n",
|
||||
" \"| medium_dfs (30x30) | BFS | 3.30 | 110 | 77 |\\n\",\n",
|
||||
" \"| medium_dfs (30x30) | DFS | 2.58 | 80 | 77 |\\n\",\n",
|
||||
" \"| medium_dfs (30x30) | A* | 0.51 | 88 | 77 |\\n\",\n",
|
||||
" \"| medium_dfs (30x30) | Дейкстра | 0.55 | 110 | 77 |\\n\",\n",
|
||||
" \"| no_exit (20x20) | BFS | 0.14 | 193 | 0 |\\n\",\n",
|
||||
" \"| no_exit (20x20) | DFS | 0.07 | 52 | 0 |\\n\",\n",
|
||||
" \"| no_exit (20x20) | A* | 0.16 | 162 | 0 |\"\n",
|
||||
" ]\n",
|
||||
" },\n",
|
||||
" {\n",
|
||||
" \"cell_type\": \"markdown\",\n",
|
||||
" \"metadata\": {},\n",
|
||||
" \"source\": [\n",
|
||||
" \"### Графики\\n\",\n",
|
||||
" \"\\n\",\n",
|
||||
" \"\\n\",\n",
|
||||
" \"\\n\",\n",
|
||||
" \"На графике представлено сравнение алгоритмов по трём метрикам: время выполнения, количество посещённых клеток и длина найденного пути.\\n\",\n",
|
||||
" \"\\n\",\n",
|
||||
" \"\\n\",\n",
|
||||
" \"\\n\",\n",
|
||||
" \"Детальные графики по каждому лабиринту.\"\n",
|
||||
" ]\n",
|
||||
" },\n",
|
||||
" {\n",
|
||||
" \"cell_type\": \"markdown\",\n",
|
||||
" \"metadata\": {},\n",
|
||||
" \"source\": [\n",
|
||||
" \"## 5. Анализ результатов\\n\",\n",
|
||||
" \"\\n\",\n",
|
||||
" \"### Сравнение характеристик\\n\",\n",
|
||||
" \"\\n\",\n",
|
||||
" \"**BFS**\\n\",\n",
|
||||
" \"- Гарантирует кратчайший путь (длина пути совпадает с A*)\\n\",\n",
|
||||
" \"- Посещает много клеток (400 в пустом лабиринте)\\n\",\n",
|
||||
" \"- Время работы стабильно, предсказуемо\\n\",\n",
|
||||
" \"\\n\",\n",
|
||||
" \"**DFS**\\n\",\n",
|
||||
" \"- Самый быстрый на большинстве лабиринтов (0.07 мс на маленьком)\\n\",\n",
|
||||
" \"- НЕ гарантирует кратчайший путь (в пустом лабиринте путь 191 вместо 39)\\n\",\n",
|
||||
" \"- Посещает меньше клеток, чем BFS (80 против 110 на 30x30)\\n\",\n",
|
||||
" \"- Отлично работает в лабиринтах без выхода (52 посещённые клетки)\\n\",\n",
|
||||
" \"\\n\",\n",
|
||||
" \"**A***\\n\",\n",
|
||||
" \"- Всегда находит оптимальный путь (как BFS)\\n\",\n",
|
||||
" \"- Посещает меньше клеток, чем BFS (88 против 110 на 30x30)\\n\",\n",
|
||||
" \"- На 30x30 оказался самым быстрым (0.51 мс)\\n\",\n",
|
||||
" \"- На пустом лабиринте медленнее из-за накладных расходов на эвристику\\n\",\n",
|
||||
" \"\\n\",\n",
|
||||
" \"**Дейкстра**\\n\",\n",
|
||||
" \"- На невзвешенных графах даёт те же результаты, что и BFS\\n\",\n",
|
||||
" \"- Медленнее A* на сложных лабиринтах\\n\",\n",
|
||||
" \"\\n\",\n",
|
||||
" \"### Ключевые выводы\\n\",\n",
|
||||
" \"\\n\",\n",
|
||||
" \"1. **A* показывает лучший баланс** между скоростью и оптимальностью.\\n\",\n",
|
||||
" \"2. **DFS – самый быстрый**, когда не важна длина пути.\\n\",\n",
|
||||
" \"3. **BFS** остаётся простым и предсказуемым решением.\\n\",\n",
|
||||
" \"4. **На пустых лабиринтах** DFS находит очень длинный путь.\\n\",\n",
|
||||
" \"5. **В лабиринтах без выхода** DFS быстрее всех обнаруживает отсутствие пути.\\n\",\n",
|
||||
" \"\\n\",\n",
|
||||
" \"### Рекомендации по выбору алгоритма\\n\",\n",
|
||||
" \"\\n\",\n",
|
||||
" \"| Сценарий | Рекомендуемый алгоритм | Обоснование |\\n\",\n",
|
||||
" \"|----------|------------------------|-------------|\\n\",\n",
|
||||
" \"| Нужен кратчайший путь + скорость | **A*** | Лучшие результаты на сложных лабиринтах |\\n\",\n",
|
||||
" \"| Важна только скорость | **DFS** | Самый быстрый |\\n\",\n",
|
||||
" \"| Простота реализации | **BFS** | Самый понятный алгоритм |\\n\",\n",
|
||||
" \"| Проверка существования пути | **DFS** | Быстро находит или упирается в тупик |\"\n",
|
||||
" ]\n",
|
||||
" },\n",
|
||||
" {\n",
|
||||
" \"cell_type\": \"markdown\",\n",
|
||||
" \"metadata\": {},\n",
|
||||
" \"source\": [\n",
|
||||
" \"## 6. Заключение\\n\",\n",
|
||||
" \"\\n\",\n",
|
||||
" \"В ходе лабораторной работы была разработана программа для поиска выхода из лабиринта с применением паттернов проектирования GoF.\\n\",\n",
|
||||
" \"\\n\",\n",
|
||||
" \"### Преимущества использованных паттернов\\n\",\n",
|
||||
" \"\\n\",\n",
|
||||
" \"| Паттерн | Что было бы сложно изменить без него |\\n\",\n",
|
||||
" \"|---------|--------------------------------------|\\n\",\n",
|
||||
" \"| **Builder** | Добавление нового формата файлов потребовало бы переписывания всей логики загрузки |\\n\",\n",
|
||||
" \"| **Strategy** | Смена алгоритма поиска потребовала бы изменения кода `MazeSolver` |\\n\",\n",
|
||||
" \"| **Observer** | Добавление нового способа вывода потребовало бы изменения всех классов |\\n\",\n",
|
||||
" \"| **Command** | Реализация отмены ходов привела бы к дублированию кода |\\n\",\n",
|
||||
" \"\\n\",\n",
|
||||
" \"Экспериментальное сравнение алгоритмов показало, что A* является оптимальным выбором для большинства сценариев. DFS остаётся лучшим выбором, когда скорость критичнее оптимальности пути.\\n\",\n",
|
||||
" \"\\n\",\n",
|
||||
" \"Программа предоставляет два режима работы:\\n\",\n",
|
||||
" \"- **Интерактивный режим** – игра с ручным управлением, отменой и повторением ходов\\n\",\n",
|
||||
" \"- **Экспериментальный режим** – автоматическое тестирование алгоритмов с сохранением результатов в CSV и построением графиков\\n\",\n",
|
||||
" \"\\n\",\n",
|
||||
" \"Разработанное решение демонстрирует преимущества объектно-ориентированного подхода и паттернов проектирования при создании гибких, расширяемых и легко поддерживаемых программ.\"\n",
|
||||
" ]\n",
|
||||
" }\n",
|
||||
" ],\n",
|
||||
" \"metadata\": {\n",
|
||||
" \"kernelspec\": {\n",
|
||||
" \"display_name\": \"Python 3\",\n",
|
||||
" \"language\": \"python\",\n",
|
||||
" \"name\": \"python3\"\n",
|
||||
" },\n",
|
||||
" \"language_info\": {\n",
|
||||
" \"name\": \"python\",\n",
|
||||
" \"version\": \"3.10.0\"\n",
|
||||
" }\n",
|
||||
" },\n",
|
||||
" \"nbformat\": 4,\n",
|
||||
" \"nbformat_minor\": 4\n",
|
||||
"}"
|
||||
]
|
||||
}
|
||||
],
|
||||
"metadata": {
|
||||
"language_info": {
|
||||
"name": "python"
|
||||
}
|
||||
},
|
||||
"nbformat": 4,
|
||||
"nbformat_minor": 5
|
||||
}
|
||||
|
|
@ -1105,26 +1105,20 @@ def plot_by_maze(csv_filename="experiment_results.csv"):
|
|||
if not os.path.exists(csv_filename):
|
||||
return
|
||||
|
||||
|
||||
df = pd.read_csv(csv_filename, sep=';', encoding='utf-8-sig')
|
||||
print("Колонки в файле:", list(df.columns))
|
||||
|
||||
if 'maze_name' not in df.columns:
|
||||
for col in df.columns:
|
||||
if 'maze' in col.lower() or 'name' in col.lower():
|
||||
df.rename(columns={col: 'maze_name'}, inplace=True)
|
||||
break
|
||||
|
||||
|
||||
if 'maze_name' not in df.columns:
|
||||
print("Ошибка: колонка 'maze_name' не найдена")
|
||||
return
|
||||
|
||||
mazes = df['maze_name'].unique()
|
||||
|
||||
print("Колонки в файле:", list(df.columns))
|
||||
|
||||
if 'maze_name' not in df.columns:
|
||||
print("Колонка 'maze_name' не найдена. Доступны:", list(df.columns))
|
||||
return
|
||||
|
||||
mazes = df['maze_name'].unique()
|
||||
mazes = df['maze_name'].unique()
|
||||
|
||||
|
|
@ -1170,35 +1164,19 @@ def print_analysis(csv_filename="experiment_results.csv"):
|
|||
return
|
||||
|
||||
df = pd.read_csv(csv_filename, sep=';', encoding='utf-8-sig')
|
||||
|
||||
# ПРОВЕРКА: какие колонки есть в файле
|
||||
print("DEBUG: Колонки в файле:", list(df.columns))
|
||||
|
||||
# Если колонка называется не 'strategy' - переименовываем
|
||||
print("DEBUG: Колонки в файле:", list(df.columns))
|
||||
if 'strategy' not in df.columns:
|
||||
# Ищем похожую колонку
|
||||
for col in df.columns:
|
||||
if 'strategy' in col.lower() or 'algo' in col.lower():
|
||||
df.rename(columns={col: 'strategy'}, inplace=True)
|
||||
break
|
||||
|
||||
|
||||
if 'strategy' not in df.columns:
|
||||
print("Ошибка: колонка 'strategy' не найдена в CSV")
|
||||
return
|
||||
|
||||
print("АНАЛИЗ ЭФФЕКТИВНОСТИ АЛГОРИТМОВ")
|
||||
|
||||
print("\nОбщая статистика по алгоритмам:")
|
||||
print(f"{'Алгоритм':<25} {'Время(мс)':<12} {'Посещено':<12} {'Длина пути':<12} {'Найден %':<10}")
|
||||
|
||||
for strategy in df['strategy'].unique():
|
||||
data = df[df['strategy'] == strategy]
|
||||
avg_time = data['avg_time_ms'].mean()
|
||||
avg_visited = data['avg_visited_cells'].mean()
|
||||
avg_length = data['avg_path_length'].mean()
|
||||
found_rate = data['path_found'].mean() * 100
|
||||
print(f"{strategy:<25} {avg_time:<12.2f} {avg_visited:<12.0f} {avg_length:<12.1f} {found_rate:<10.1f}%")
|
||||
|
||||
|
||||
print("АНАЛИЗ ЭФФЕКТИВНОСТИ АЛГОРИТМОВ")
|
||||
|
||||
|
||||
|
|
|
|||
Binary file not shown.
|
Before Width: | Height: | Size: 294 KiB After Width: | Height: | Size: 297 KiB |
|
|
@ -1,29 +1,29 @@
|
|||
maze_name;strategy;runs;avg_time_ms;min_time_ms;max_time_ms;avg_visited_cells;min_visited_cells;max_visited_cells;avg_path_length;min_path_length;max_path_length;path_found
|
||||
tiny_simple (10x10);BFS (Поиск в ширину);5;0.10344001930207014;0.0868999632075429;0.15590002294629812;28.0;28;28;19.0;19;19;True
|
||||
tiny_simple (10x10);DFS (Поиск в глубину);5;0.07182001136243343;0.05929998587816954;0.08929998148232698;28.0;28;28;19.0;19;19;True
|
||||
tiny_simple (10x10);A Star;5;0.18986002542078495;0.1583000412210822;0.2394000766798854;28.0;28;28;19.0;19;19;True
|
||||
tiny_simple (10x10);Дейкстра (Dijkstra);5;0.2083600265905261;0.1431000418961048;0.3237000200897455;28.0;28;28;19.0;19;19;True
|
||||
small_empty (20x20);BFS (Поиск в ширину);5;1.2823000084608793;1.1743999784812331;1.4915000647306442;400.0;400;400;39.0;39;39;True
|
||||
small_empty (20x20);DFS (Поиск в глубину);5;0.9971400257200003;0.9467999916523695;1.153100049123168;400.0;400;400;191.0;191;191;True
|
||||
small_empty (20x20);A Star;5;2.6846999768167734;2.398099983111024;2.9609999619424343;400.0;400;400;39.0;39;39;True
|
||||
small_empty (20x20);Дейкстра (Dijkstra);5;2.510580001398921;2.1893999073654413;2.994599984958768;400.0;400;400;39.0;39;39;True
|
||||
medium_dfs (30x30);BFS (Поиск в ширину);5;0.6412999937310815;0.5982000147923827;0.7941999938338995;171.0;171;171;105.0;105;105;True
|
||||
medium_dfs (30x30);DFS (Поиск в глубину);5;0.35470002330839634;0.34390005748718977;0.37720007821917534;110.0;110;110;105.0;105;105;True
|
||||
medium_dfs (30x30);A Star;5;0.8171399822458625;0.7591999601572752;0.8969999616965652;141.0;141;141;105.0;105;105;True
|
||||
medium_dfs (30x30);Дейкстра (Dijkstra);5;0.9974599815905094;0.8565000025555491;1.2263000244274735;171.0;171;171;105.0;105;105;True
|
||||
medium_complex (40x40);BFS (Поиск в ширину);5;2.802439988590777;2.5909000542014837;3.390899975784123;614.0;614;614;373.0;373;373;True
|
||||
medium_complex (40x40);DFS (Поиск в глубину);5;1.8086799886077642;1.4740999322384596;2.945499960333109;397.0;397;397;373.0;373;373;True
|
||||
medium_complex (40x40);A Star;5;3.598040039651096;3.0396999791264534;4.724400001578033;569.0;569;569;373.0;373;373;True
|
||||
medium_complex (40x40);Дейкстра (Dijkstra);5;3.372700000181794;2.929799957200885;4.301499924622476;614.0;614;614;373.0;373;373;True
|
||||
large_dfs (50x50);BFS (Поиск в ширину);5;2.029319992288947;1.6838000155985355;3.06529994122684;412.0;412;412;305.0;305;305;True
|
||||
large_dfs (50x50);DFS (Поиск в глубину);5;1.2084600050002337;1.1607999913394451;1.3439999893307686;314.0;314;314;305.0;305;305;True
|
||||
large_dfs (50x50);A Star;5;2.5132999988272786;2.017199993133545;3.4434000262990594;366.0;366;366;305.0;305;305;True
|
||||
large_dfs (50x50);Дейкстра (Dijkstra);5;2.3565199924632907;1.976999919861555;3.297399962320924;412.0;412;412;305.0;305;305;True
|
||||
very_large_dfs (100x100);BFS (Поиск в ширину);5;28.673699987120926;26.941100019030273;32.57150005083531;3566.0;3566;3566;1813.0;1813;1813;True
|
||||
very_large_dfs (100x100);DFS (Поиск в глубину);5;15.021399967372417;14.021800016053021;16.41029992606491;1995.0;1995;1995;1813.0;1813;1813;True
|
||||
very_large_dfs (100x100);A Star;5;20.14593998901546;19.036200013943017;22.409999975934625;3381.0;3381;3381;1813.0;1813;1813;True
|
||||
very_large_dfs (100x100);Дейкстра (Dijkstra);5;18.126800004392862;16.766700078733265;19.753700005821884;3566.0;3566;3566;1813.0;1813;1813;True
|
||||
no_exit (20x20);BFS (Поиск в ширину);5;0.003600004129111767;0.001300009898841381;0.011499971151351929;0.0;0;0;0.0;0;0;False
|
||||
no_exit (20x20);DFS (Поиск в глубину);5;0.0007200054824352264;0.000300002284348011;0.001900014467537403;0.0;0;0;0.0;0;0;False
|
||||
no_exit (20x20);A Star;5;0.0005800044164061546;0.000300002284348011;0.001300009898841381;0.0;0;0;0.0;0;0;False
|
||||
no_exit (20x20);Дейкстра (Dijkstra);5;0.0006799818947911263;0.000300002284348011;0.0014998950064182281;0.0;0;0;0.0;0;0;False
|
||||
tiny_simple (10x10);BFS (Поиск в ширину);5;0.10518000926822424;0.08800008799880743;0.16200006939470768;28.0;28;28;19.0;19;19;True
|
||||
tiny_simple (10x10);DFS (Поиск в глубину);5;0.0728200189769268;0.061400001868605614;0.10630011092871428;28.0;28;28;19.0;19;19;True
|
||||
tiny_simple (10x10);A Star;5;0.1740999985486269;0.1604999415576458;0.22060004994273186;28.0;28;28;19.0;19;19;True
|
||||
tiny_simple (10x10);Дейкстра (Dijkstra);5;0.14854001346975565;0.14189991634339094;0.1716000260785222;28.0;28;28;19.0;19;19;True
|
||||
small_empty (20x20);BFS (Поиск в ширину);5;1.350820017978549;1.2996000004932284;1.4386000111699104;400.0;400;400;39.0;39;39;True
|
||||
small_empty (20x20);DFS (Поиск в глубину);5;1.0200999910011888;0.9803998982533813;1.131800003349781;400.0;400;400;191.0;191;191;True
|
||||
small_empty (20x20);A Star;5;2.608919981867075;2.483000047504902;2.719299984164536;400.0;400;400;39.0;39;39;True
|
||||
small_empty (20x20);Дейкстра (Dijkstra);5;2.270600013434887;2.1596000296995044;2.4237000616267323;400.0;400;400;39.0;39;39;True
|
||||
medium_dfs (30x30);BFS (Поиск в ширину);5;0.3978000022470951;0.3643999807536602;0.5170999793335795;110.0;110;110;77.0;77;77;True
|
||||
medium_dfs (30x30);DFS (Поиск в глубину);5;0.2578399842604995;0.25129993446171284;0.2742999931797385;80.0;80;80;77.0;77;77;True
|
||||
medium_dfs (30x30);A Star;5;0.5116799846291542;0.47670002095401287;0.6345999427139759;88.0;88;88;77.0;77;77;True
|
||||
medium_dfs (30x30);Дейкстра (Dijkstra);5;0.5545199848711491;0.5197999998927116;0.6467000348493457;110.0;110;110;77.0;77;77;True
|
||||
medium_complex (40x40);BFS (Поиск в ширину);5;0.7289399858564138;0.7038000039756298;0.8005000418052077;199.0;199;199;137.0;137;137;True
|
||||
medium_complex (40x40);DFS (Поиск в глубину);5;0.6589999888092279;0.46930008102208376;1.0472999420017004;141.0;141;141;137.0;137;137;True
|
||||
medium_complex (40x40);A Star;5;0.9274400072172284;0.8467999286949635;1.2432000366970897;158.0;158;158;137.0;137;137;True
|
||||
medium_complex (40x40);Дейкстра (Dijkstra);5;0.9650199906900525;0.9348000166937709;1.0183999547734857;199.0;199;199;137.0;137;137;True
|
||||
large_dfs (50x50);BFS (Поиск в ширину);5;2.0312600303441286;1.7980000702664256;2.2323000011965632;459.0;459;459;277.0;277;277;True
|
||||
large_dfs (50x50);DFS (Поиск в глубину);5;1.0593399871140718;1.0408000089228153;1.0833999840542674;287.0;287;287;277.0;277;277;True
|
||||
large_dfs (50x50);A Star;5;2.5984000181779265;2.4158000014722347;2.81510001514107;427.0;427;427;277.0;277;277;True
|
||||
large_dfs (50x50);Дейкстра (Dijkstra);5;2.5939000071957707;2.1897999104112387;3.5234999377280474;459.0;459;459;277.0;277;277;True
|
||||
very_large_dfs (100x100);BFS (Поиск в ширину);5;35.92262000311166;34.23479991033673;40.153599926270545;4184.0;4184;4184;1897.0;1897;1897;True
|
||||
very_large_dfs (100x100);DFS (Поиск в глубину);5;17.542819981463253;17.002100008539855;19.42270004656166;2216.0;2216;2216;1897.0;1897;1897;True
|
||||
very_large_dfs (100x100);A Star;5;23.934299987740815;22.515099961310625;26.25090000219643;4017.0;4017;4017;1897.0;1897;1897;True
|
||||
very_large_dfs (100x100);Дейкстра (Dijkstra);5;21.47540000732988;20.28030005749315;24.353899993002415;4184.0;4184;4184;1897.0;1897;1897;True
|
||||
no_exit (20x20);BFS (Поиск в ширину);5;0.004719989374279976;0.001300009898841381;0.009899958968162537;0.0;0;0;0.0;0;0;False
|
||||
no_exit (20x20);DFS (Поиск в глубину);5;0.0009800074622035027;0.000400003045797348;0.002900022082030773;0.0;0;0;0.0;0;0;False
|
||||
no_exit (20x20);A Star;5;0.000700005330145359;0.000300002284348011;0.001800013706088066;0.0;0;0;0.0;0;0;False
|
||||
no_exit (20x20);Дейкстра (Dijkstra);5;0.0009200070053339005;0.000400003045797348;0.002500019036233425;0.0;0;0;0.0;0;0;False
|
||||
|
|
|
|||
|
Binary file not shown.
|
Before Width: | Height: | Size: 419 KiB After Width: | Height: | Size: 409 KiB |
|
|
@ -1,50 +1,50 @@
|
|||
##################################################
|
||||
#S......#.....#...........#.........#...#.......##
|
||||
#######.#####.#.#.#######.#.#######.#.###.#.###.##
|
||||
#...#...#...#...#.....#.....#.....#.#.#...#.#...##
|
||||
###.#.###.#.#.#######.#########.#.#.#.#.###.#.####
|
||||
#...#.#...#.#.......#.#.......#.#.#.#.#...#.#...##
|
||||
#.#.#.#.###.#######.#.#.#####.#.#.#.#.###.#.###.##
|
||||
#.#.#.#.#.#.......#.#...#...#.#.#.#.#...#.#.#...##
|
||||
#.###.#.#.#######.#######.#.#.#.#.#.#.#.#.#.######
|
||||
#.#...#.#.......#...#...#.#...#.#.#.#.#...#.....##
|
||||
#.#.###.#.#####.###.#.#.#.#######.#.###########.##
|
||||
#.#.....#.#...#.#.#.#.#.#.......#.#.........#...##
|
||||
#.#######.#.#.#.#.#.#.#.#######.#.#########.#.#.##
|
||||
#.....#.....#.#.#.#.#.#.#.......#.........#.#.#.##
|
||||
#.###.#####.#.#.#.#.#.#.#.#######.#######.#.#.####
|
||||
#...#.....#.#.#...#...#...#.....#.#.......#.#...##
|
||||
#.#.#####.###.###.#########.###.#.#.#######.#.#.##
|
||||
#.#.#...#.....#.#.#.....#...#...#.#...#.....#.#.##
|
||||
#.#.#.#########.#.#.###.#.###.#.#.###.#.#######.##
|
||||
#.#.#...........#...#...#.#...#.#.#...#.#.....#.##
|
||||
#.#.###.#######.#####.###.#.#####.#.###.###.#.#.##
|
||||
#.#...#.......#...#.#...#.#.#.....#.....#...#.#.##
|
||||
#.###.#######.###.#.###.#.#.#.###########.###.#.##
|
||||
#...#...#...#.#.......#.#.#.#.....#.......#.#...##
|
||||
###.###.#.#.#.#######.#.###.#####.#.#######.###.##
|
||||
#...#...#.#...#...#...#.........#.#...#.....#...##
|
||||
#.###.###.#####.#.###.#.#######.#.#.#.#####.#.####
|
||||
#.#.#...#.#...#.#...#.#.#.....#.#.#.#...#...#.#.##
|
||||
#.#.###.#.#.#.#.###.###.#.###.#.#.#####.#.#.#.#.##
|
||||
#...#...#.#.#...#.#.....#...#.#.#.......#.#.#.#.##
|
||||
#####.###.#.#####.#########.#.#.#########.#.#.#.##
|
||||
#.....#.#...#.......#.....#.#.#.......#...#.#.#.##
|
||||
#.#####.#.#########.#.#.#.#.#.#########.#.###.#.##
|
||||
#.#...#.....#.......#.#.#.#.#.#.........#...#.#.##
|
||||
#.#.#.#####.#.#######.#.###.#.#.#########.#.#.#.##
|
||||
#...#.#...#...#.......#.....#...#...#...#.#.#...##
|
||||
#.###.#.#.###.#.#############.###.###.#.#.#.###.##
|
||||
#.#.#...#...#.#.#.....#.#...#.#...#...#.#.#.#...##
|
||||
#.#.#######.#.#.###.#.#.#.#.#.###.#.###.###.#.####
|
||||
#...#.....#.#.#...#.#...#.#.#.....#.#.#.#...#...##
|
||||
###.#.#.###.#####.#.###.#.#.#######.#.#.#.#.###.##
|
||||
#...#.#...#.....#.#.#...#.#.........#.....#.#.#.##
|
||||
#.#######.###.###.#.#####.#####.###########.#.#.##
|
||||
#.#.........#.#...#...#...#.....#.........#...#.##
|
||||
#.#.#####.###.#.###.#.#.#########.#######.#.###.##
|
||||
#...#.....#...#.#...#.#...#...#...#.....#.#.#...##
|
||||
#####.#####.###.#####.###.#.#.#.#####.#.#.###.####
|
||||
#.........#.............#...#.........#.#......E##
|
||||
#S#.............................#.........#.#...##
|
||||
#.###.#################.#.#####.#.#######.#.#.#.##
|
||||
#...#...#...#.........#.#.....#...#.....#.#...#.##
|
||||
###.#####.#.#.#######.#######.#######.###.#.###.##
|
||||
#.#.......#.#.....#.#...#.....#.......#...#.#...##
|
||||
#.#########.#####.#.###.#.#####.#####.#.###.#.####
|
||||
#.........#...#...#...#.#.#.......#...#...#.#...##
|
||||
#.#######.###.#.#####.#.#.#######.#.#####.#####.##
|
||||
#.......#.#...#.....#...#.#.......#.....#.#.....##
|
||||
#####.#.#.#.#######.#.###.#.#############.#.###.##
|
||||
#...#.#.#.#...#...#.#.....#...#.....#...#.#.#...##
|
||||
#.#.###.#.###.#.#.#.#######.#.#.###.#.#.#.#.#.####
|
||||
#.#.#...#.#.#.#.#...#.....#.#.....#...#.#...#...##
|
||||
#.#.#.###.#.#.#.###.#.###.#############.###.######
|
||||
#.#...#.....#.#.#.#.#...#.#...........#.....#...##
|
||||
#.###########.#.#.#.#.###.#.#########.#######.#.##
|
||||
#.....#.......#.#...#.#...#.#.......#.....#...#.##
|
||||
#.###.#.#######.#####.#.#.#.#####.#######.#.###.##
|
||||
#.#.#...#.......#.....#.#.#.#...#.....#...#...#.##
|
||||
#.#.#####.###.#.#.#####.###.#.#.#####.#.###.###.##
|
||||
#.#.....#.#.#.#.#...#.#.....#.#.......#.#...#...##
|
||||
#.#.###.#.#.#.#####.#.#######.#######.#.#.###.####
|
||||
#.#.#.#.#.#.#.......#.........#.......#...#.#...##
|
||||
#.#.#.#.#.#.###########.#.#######.#########.###.##
|
||||
#.#...#.#...#...........#.#.....#...#...#...#...##
|
||||
#.###.#.###.#########.#####.###.###.#.#.#.#.#.####
|
||||
#...#.#.......#.....#.........#...#...#...#.#...##
|
||||
###.#########.#.###.###.#########.###.#########.##
|
||||
#.#.........#.#.#.#...#.#.........#...#.........##
|
||||
#.#########.#.#.#.###.###.#.#######.###.#######.##
|
||||
#...#.......#.#.#.....#...#.#...#...#...#.#...#.##
|
||||
#.###.#######.#.#.#####.#####.#.#####.###.#.#.#.##
|
||||
#...#.#.....#...#...#.....#...#.#.....#...#.#...##
|
||||
###.#.###.#.#######.#####.#.###.#.#####.###.######
|
||||
#...#...#.#.......#.#...#.#...#...#.......#.#...##
|
||||
#.#.###.#.#######.#.#.#.#.###.###########.#.#.####
|
||||
#.#.#.#...#.......#...#.....#.#...........#.#...##
|
||||
#.#.#.#####.#############.###.#.#.#######.#.###.##
|
||||
#.#.......#...#.....#...#.#...#.#.#...#...#...#.##
|
||||
#.#######.###.###.#.#.#.###.###.#.###.#.#####.#.##
|
||||
#.....#...#...#...#.#.#.....#...#...#...#.....#.##
|
||||
#.###.#####.###.###.#.#######.#####.#####.#####.##
|
||||
#.#...#.....#.....#.#.....#.#.....#.....#.#.....##
|
||||
###.#.#.#####.###.#.###.#.#.#####.#####.#.#.###.##
|
||||
#...#.#.#.....#...#...#.#.#...#...#...#.#...#.#.##
|
||||
#.#####.#######.#####.###.#.###.###.#.#.#####.#.##
|
||||
#...............#.........#.........#.#........E##
|
||||
##################################################
|
||||
##################################################
|
||||
|
|
|
|||
|
|
@ -1,40 +1,40 @@
|
|||
########################################
|
||||
#S..........#.............#.......#...##
|
||||
###########.#.#####.#####.#.#####.#.####
|
||||
#.......#...#.....#.....#.#.#.#...#...##
|
||||
#.#####.#.#######.#####.#.#.#.#.###.#.##
|
||||
#.#...#.#.#.#.......#...#.#.#.....#.#.##
|
||||
#.#.#.#.#.#.#.#######.###.#.#####.###.##
|
||||
#.#.#.#.#.#...#.......#...#.....#.....##
|
||||
#.#.#.#.#.#####.#######.#######.#####.##
|
||||
#.#.#.#.#.....#.#.....#.........#.#...##
|
||||
#.#.#.#######.#.#####.###########.#.####
|
||||
#...#.......#...#.....#...........#...##
|
||||
#######.###.#####.#####.#########.###.##
|
||||
#.......#.......#.....#...#.....#...#.##
|
||||
#.#############.#####.###.#.#######.#.##
|
||||
#.#...........#...#...#...#...#.....#.##
|
||||
#.#.#########.###.#.#.#.###.#.#.#.###.##
|
||||
#.#.....#...#.#.....#.#...#.#.#.#.#...##
|
||||
#.#####.###.#.###########.###.#.###.####
|
||||
#.......#...#.#.........#.....#...#...##
|
||||
#.#######.###.#.#####.###.#######.###.##
|
||||
#...#.......#.#...#.#.#...#.......#...##
|
||||
###.#######.#.###.#.#.#.###.#######.####
|
||||
#.#.......#.#.....#.#...#.#.......#.#.##
|
||||
#.#######.#.#######.#####.#######.#.#.##
|
||||
#.......#...#.....#.........#...#.#.#.##
|
||||
#.#####.###.###.#.###.#####.#.###.#.#.##
|
||||
#.#...#...#.....#.#...#...#...#...#.#.##
|
||||
#.###.#.#########.#.###.#####.#.###.#.##
|
||||
#.#...#.........#...#.........#...#.#.##
|
||||
#.#.###########.#####.###########.#.#.##
|
||||
#.#...........#.....#.#...#.....#...#.##
|
||||
#.#######.#.###.#####.#.#.#####.#####.##
|
||||
#.#.......#.#...#...#...#.#.....#.....##
|
||||
#.#.#######.#.###.#.#####.#.###.###.#.##
|
||||
#...#.....#.#.....#...#...#...#...#.#.##
|
||||
#####.###.#.#######.###.#####.###.###.##
|
||||
#.......#.........#...........#......E##
|
||||
#S..#...........#.....#...............##
|
||||
###.#.#.#######.#####.#.#.##############
|
||||
#.#.#.#.#.......#...#.#.#.......#.....##
|
||||
#.#.#.#.#.#######.#.#.#.#######.#.###.##
|
||||
#.#.#.#.#.#...#...#...#...#.....#...#.##
|
||||
#.#.###.#.#.###.#.#######.#.#######.#.##
|
||||
#.#.#...#.#.....#...#...#.#.#.....#.#.##
|
||||
#.#.#.###.#########.#.#.#.#.#.###.#.#.##
|
||||
#.#...#.#.....#.....#.#...#.#...#...#.##
|
||||
#.#####.#####.#.###.#.#####.###.#####.##
|
||||
#.......#.#...#.#...#...#.....#.#.#...##
|
||||
#.#####.#.#.###.#######.#.#####.#.#.####
|
||||
#.#.......#.#.#.......#.#.......#.#...##
|
||||
#.#########.#.#.###.###.#########.###.##
|
||||
#...#.......#.....#.#...#...........#.##
|
||||
###.#.#######.#####.#.#######.#####.#.##
|
||||
#...#.#...#...#...#.#.......#.....#.#.##
|
||||
#.#.#.#.###.###.#.#.#######.#.###.#.#.##
|
||||
#.#.#.#.....#...#.........#.#...#.#.#.##
|
||||
#.###.#.#####.###########.#.#####.#.#.##
|
||||
#.....#.#...#.#...........#.......#.#.##
|
||||
#.#####.###.#.###################.###.##
|
||||
#.....#.....#.#...........#.......#...##
|
||||
#####.#######.#.#########.#.#######.####
|
||||
#...#...#...#...#.......#.........#...##
|
||||
#.#####.#.#.#####.#####.#########.###.##
|
||||
#.....#...#.......#...#.......#.#...#.##
|
||||
#.###.###############.#######.#.#.###.##
|
||||
#.#...#...#...........#.....#.#...#...##
|
||||
#.#.#.#.#.#####.#######.###.#.###.#.####
|
||||
#.#.#...#.#.....#.......#...#...#.#...##
|
||||
#.#.#####.#.###.#.#######.#.###.#.###.##
|
||||
#.#...#.....#...#.#.....#.#...#.#...#.##
|
||||
#.###.#########.#.#####.#.###.#.#.###.##
|
||||
#...#.#...#...#.#.....#.#.#...#.#.#...##
|
||||
###.#.#.#.#.#.#######.#.#.#####.###.#.##
|
||||
#...#...#...#...........#...........#E##
|
||||
########################################
|
||||
########################################
|
||||
|
|
|
|||
|
|
@ -1,30 +1,30 @@
|
|||
##############################
|
||||
#S....#.........#...........##
|
||||
#####.#.#.#####.#.#########.##
|
||||
#...#.#.#.#.....#.....#...#.##
|
||||
#.###.###.#.#########.#.#.#.##
|
||||
#.#...#...#.#.......#.#.#.#.##
|
||||
#.#.###.#####.#####.#.#.#.#.##
|
||||
#.#.#...#...#.#...#.#.#.#.#.##
|
||||
#.#.###.#.#.#.#.###.#.#.###.##
|
||||
#.#...#...#.#.#.#...#.#...#.##
|
||||
#.###.#.###.#.#.#.#.#.###.#.##
|
||||
#...#.#.#.#.#.#.#.#.#.....#.##
|
||||
#.###.#.#.#.#.#.#.#.#####.#.##
|
||||
#.....#...#.....#.#.#.....#.##
|
||||
#.#####.#######.#.###.#####.##
|
||||
#.#...#.#...#...#...#.#.#...##
|
||||
#.#.#.###.#.#.#####.#.#.#.#.##
|
||||
#...#...#.#.#...#.#.#.#.#.#.##
|
||||
#######.#.#.###.#.#.#.#.#.#.##
|
||||
#.....#...#...#...#.....#.#.##
|
||||
#.###.#######.###########.#.##
|
||||
#.#.......#...#.......#...#.##
|
||||
###.#.#####.###.#####.#.######
|
||||
#...#.#...#.#.......#.#.....##
|
||||
#.#####.#.#.#######.#.###.#.##
|
||||
#.....#.#.#.#.....#.#...#.#.##
|
||||
#.###.#.#.#.#.###.#.###.###.##
|
||||
#...#...#.....#.....#......E##
|
||||
#S#.........#.......#.......##
|
||||
#.#####.###.###.###.#.#####.##
|
||||
#.#.....#.#...#.#.#.#.....#.##
|
||||
#.#.#####.###.#.#.#.###.#.####
|
||||
#...#.....#.#...#.#...#.#...##
|
||||
#####.###.#.#####.###.#####.##
|
||||
#.....#.#...#.......#...#...##
|
||||
#.#####.###.#.#####.###.#.#.##
|
||||
#.#.........#.....#...#.#.#.##
|
||||
#.###.###############.#.#.####
|
||||
#...#.#...............#.#...##
|
||||
###.#.#####.#########.#.###.##
|
||||
#...#.....#...#...#...#.....##
|
||||
#.#######.###.#.###.#######.##
|
||||
#.#.........#.#.....#.....#.##
|
||||
#.#########.#.#.#########.#.##
|
||||
#.#.......#...#.....#.....#.##
|
||||
#.#.#####.#########.#.#####.##
|
||||
#...#...#.#.......#...#.....##
|
||||
#.###.#.#.#####.#####.#.######
|
||||
#.#...#.#.....#.......#.....##
|
||||
#.#.###.#####.###.#########.##
|
||||
#.#.#.#.....#...#.#.......#.##
|
||||
#.#.#.###.#####.#.#.#####.#.##
|
||||
#...#.....#.....#.#...#.#.#.##
|
||||
#####.#####.#########.#.#.#.##
|
||||
#.........#.............#..E##
|
||||
##############################
|
||||
##############################
|
||||
|
|
|
|||
|
|
@ -1,20 +1,20 @@
|
|||
####################
|
||||
#S..#.............##
|
||||
###.#.###########.##
|
||||
#.#.#.#.........#.##
|
||||
#.#.#.###.###.###.##
|
||||
#.#.#...#...#.#...##
|
||||
#.#.###.###.#.#.#.##
|
||||
#.#.#.....#.#.#.#.##
|
||||
#.#.#####.###.#.####
|
||||
#.#.....#.#...#...##
|
||||
#.#####.#.#.#####.##
|
||||
#.#...#.#.#...#...##
|
||||
#.#.#.#.#.###.#.####
|
||||
#...#...#...#.#...##
|
||||
#.#########.#.###.##
|
||||
#.....#...#...#...##
|
||||
#####.#.#.#####.#.##
|
||||
#.......#.......####
|
||||
#S......#.........##
|
||||
#######.#.###.######
|
||||
#.....#.#...#.....##
|
||||
#.#.#.#.#########.##
|
||||
#.#.#.#.....#.....##
|
||||
#.#.#######.#.###.##
|
||||
#.#.......#.#...#.##
|
||||
#.#####.###.###.#.##
|
||||
#.#...#...#.....#.##
|
||||
#.#.#.###.#######.##
|
||||
#...#...#.........##
|
||||
#######.############
|
||||
#.....#.#.........##
|
||||
#.###.#.#.#######.##
|
||||
#.#...#.#.#.....#.##
|
||||
#.#####.###.###.#.##
|
||||
#...........#....###
|
||||
####################
|
||||
####################
|
||||
|
|
|
|||
|
|
@ -1,100 +1,100 @@
|
|||
####################################################################################################
|
||||
#S#...............#.....#.....#.....#.......#...#.........#...#...#.......................#.....#.##
|
||||
#.#######.#########.#.#.###.#.#.###.#.#.###.###.#.#.#####.#.###.#.#.#########.#####.#####.###.#.#.##
|
||||
#.......#.#.........#.#.....#.#...#.#.#.#.#...#...#.#.....#.....#...#.......#.#.....#...#...#.#.#.##
|
||||
#######.#.#.#########.#######.###.#.###.#.###.#####.#####.#.#######.#.###.###.#######.#.###.#.#.#.##
|
||||
#...#...#...#...#.....#.....#...#.#.....#...#.....#.....#.#...#...#...#...#...#.......#.#.#...#...##
|
||||
#.#.#.#####.#.#.#.#####.###.###.#.#########.#####.#####.#.#####.#.#####.###.###.#######.#.#######.##
|
||||
#.#.#.....#.#.#.#.......#.#.#.#...#...#.........#.......#.......#...#.#.#...#...#...#.#.#.........##
|
||||
#.#.#####.###.#.#####.###.#.#.#####.#.#.#.#########################.#.#.#.###.###.#.#.#.#######.####
|
||||
#.#.....#.#...#.....#.....#.#.......#.#.#.#...#...........#.....#...#...#.........#...#.......#...##
|
||||
#.#####.#.#.#######.#####.#.###.#####.###.#.#.#.###.#####.#.#.###.###.#################.#####.###.##
|
||||
#.#...#...#.#.#.....#.....#...#.#...#.....#.#...#...#...#...#.#...#.#...#.#...#...#...#.....#.#...##
|
||||
#.###.#####.#.#.#######.#####.#.###.#####.#.#####.#####.#####.#.###.###.#.#.#.#.#.#.#.###.###.######
|
||||
#.......#...#.#.......#.....#.#...#.......#.....#.#...#.......#.#.....#...#.#.#.#.#.#.#...#...#...##
|
||||
#######.#.#.#.#######.#######.###.#.###########.#.#.#.#.#######.#.###.###.#.#.#.#.#.#.#####.###.#.##
|
||||
#.....#.#.#.#.................#...#.#.........#.#...#.#.....#.#.#...#.#...#.#.#.#...#...#...#...#.##
|
||||
#####.#.#.#.###################.###.#.###.#####.#####.#####.#.#.#####.#.###.#.#.#######.#.#.#.###.##
|
||||
#.....#.#.#...........#...#.....#.#...#...#...#.....#.#...#...#.....#...#...#.#.#.#.....#.#.#.#...##
|
||||
#.#####.#########.###.#.#.#.#####.###.#####.#.#####.#.#.#.###.#####.#.###.###.#.#.#.#####.###.#.####
|
||||
#.#...#.#...#...#.#...#.#.#.....#...#.#.....#.......#.#.#.#.#.#...#.#...#.#.#...#.#...#.......#...##
|
||||
#.#.#.#.#.#.#.#.#.#.###.#.#.###.#.###.#.#############.#.#.#.#.#.###.###.#.#.#####.###.#.#########.##
|
||||
#.#.#.#...#...#.#.#.....#.#.#...#...#.#...#.....#.....#.#.#.....#...#...#.#.......#...#.#.....#...##
|
||||
#.#.#.#########.#########.#.#.#####.#.###.#####.#.###.#.#.#######.#######.#.###.#.#.###.#.###.#.####
|
||||
#...#.........#.#.......#.#.#.....#.#.#.#.....#.#...#.#.#.......#.......#.#.#...#.#.#...#.#...#...##
|
||||
#.#######.#####.#.#####.#.#######.#.#.#.#####.#.###.#.#.#######.#######.#.###.###.#.#####.#.###.#.##
|
||||
#.....#.#.#...#...#...#...#...#...#...#.....#...#.#.#.#.#.....#...#...#...#...#...#.#.....#.#.#.#.##
|
||||
#####.#.#.#.#.#####.#######.#.#.###.###.###.###.#.#.###.#####.#.#.###.#####.#######.#.#####.#.#.#.##
|
||||
#...#.#.#...#.....#.........#...#.#.....#...#...#.#.....#...#.#.#.#...#.#...#.....#...#.#...#...#.##
|
||||
#.#.#.#.#####.###.#######.#######.#.#####.###.###.#######.#.#.#.#.#.#.#.#.#.#.###.#####.#.#######.##
|
||||
#.#.#...#...#.#.......#...#.....#...#...#...#...#.........#...#.#...#.#.#.#.....#.......#...#.....##
|
||||
#.#####.#.#.#.#######.#.###.#.#.#.###.#.#######.#.###########.#.#####.#.#.#######.#####.###.#.###.##
|
||||
#.......#.#.#...#...#...#...#.#.#...#.#.......#.#...#.......#.#...#...#.....#...#.#...#.#...#.#...##
|
||||
#.#########.###.#.###########.###.###.#######.#.###.#####.#.#.###.#.#########.#.#.#.#.###.###.#.####
|
||||
#...#.........#.#.............#...#...#.......#...#.#...#.#.#.#.#.#...........#.#...#.#...#...#...##
|
||||
###.#.#.###.###.#.#.###########.###.###.#########.#.#.#.#.###.#.#.#############.#.###.#.#####.###.##
|
||||
#...#.#.#...#...#.#...#.....#...#...#.#.#.........#...#.#...#...#.#.......#.....#...#.#.#.....#.#.##
|
||||
#.#####.#.###.#######.#.###.#.###.###.#.#.#############.###.###.#.#.#####.#.#####.###.#.###.###.#.##
|
||||
#.#.....#...#.....#...#.#.#.#...#.....#...#.............#.....#.#...#...#.#.....#.#...#.....#...#.##
|
||||
#.#.#.#####.#####.#.###.#.#.###.#####.#####.###.#########.#####.#####.#.#.#####.###.###########.#.##
|
||||
#.#.#.#...#...#...#...#...#...#.#...#.#.....#...#.....#.....#...#.....#.#.#...#...#.#...#.......#.##
|
||||
#.###.#.#.#.###.###.#.###.###.#.###.#.#######.###.#.#.#####.#.###.#####.#.#.#####.#.#.#.#.#.#####.##
|
||||
#.....#.#.#.#...#...#.....#...#.....#.........#...#.#...#...#.#.#.#...#...#.........#.#...#.......##
|
||||
#######.#.#.#.#############.#.#####.###############.###.#.#.#.#.#.#.#.#############.#.##############
|
||||
#.......#.#.#.#...#.........#.#...#.......#.....#...#.#.#.#.#.#.#.#.#.......#...#...#...#.......#.##
|
||||
###.#######.#.#.#.#.#########.###.#######.#.#.#.#.###.#.#.#.#.#.#.#.#######.#.#.###.###.#.#####.#.##
|
||||
#...#.....#.#...#.#...#...#.#...#...#.....#.#.#...#.....#.#.#...#...#.....#...#...#.#...#...#...#.##
|
||||
#.###.###.#.#####.###.#.#.#.###.###.#.#######.#####.#####.#####.#####.###########.#.#.#####.###.#.##
|
||||
#.....#.#...#...#...#...#.#...#.#...#...#...#.#...#.#.....#...#.#.....#...........#.#.....#...#...##
|
||||
#.#####.#####.#.###.#####.#.#.#.#.#.###.#.#.#.#.###.###.#.#.#.#.#.###.#.#########.#######.#.#.######
|
||||
#.#...#.......#...#.#...#.#.#.....#.#...#.#...#.........#.#.#...#.#...#...#.......#.....#.#.#.....##
|
||||
#.#.#.###.#######.#.#.#.#.#########.#.###.###.#######.#####.#####.#.#####.#.#####.#.###.#.#.#####.##
|
||||
#...#.....#.#.....#.#.#.#.#.....#...#.....#...#.....#.#.....#.....#.#...#.#.#...#.#.#.#.#.#...#...##
|
||||
###########.#.#####.#.#.#.#.###.#######.#####.#.###.###.#####.#.###.###.#.#.#.#.#.#.#.#.#.#.###.#.##
|
||||
#.#...#.....#.#.#...#.#.#.#...#.........#...#.#.#.#...#.#.....#.#...#...#.#.#.#.#.#.#.#...#.#...#.##
|
||||
#.#.#.#.#.###.#.#.#.#.#.#.###.###########.#.#.#.#.###.#.###.###.#.###.#.#.###.#.#.#.#.#######.###.##
|
||||
#.#.#...#.....#.#.#.#.#.#.........#.......#.#.#.#...#.#...#.#...#.....#.#.....#.#.#.#.........#...##
|
||||
#.#.###########.#.###.#.###########.#######.#.#.#.###.###.###.#########.#######.###.#.#####.#####.##
|
||||
#.#.....#...#...#.....#.........#...#...#...#.#.#.#.....#...#.#.....#.....#...#.....#...#.#.#...#.##
|
||||
#.#####.#.#.###.###############.#.###.#.#.#####.#.#.#.#####.#.#.###.#.#####.#.#######.#.#.#.#.#.####
|
||||
#.....#.#.#.....#.....#.......#.#.....#.#.......#.#.#.#...#.#...#...#...#...#.....#...#.#...#.#...##
|
||||
#.#####.#.#####.#.#.#.#.#.#####.#######.#########.#.###.#.#.#.###.#####.#.#####.#.#.###.#####.###.##
|
||||
#.#.....#.#.#...#.#.#...#.#...........#.#.....#...#.#...#...#.#.#.#.....#.#...#.#.#.#.#.....#...#.##
|
||||
#.#.#####.#.#.#####.#####.#.#######.###.#.#.#.#.#.#.#.#######.#.#.#######.###.#.#.#.#.#####.###.#.##
|
||||
#.#.#.....#...#.....#.#...#.....#...#...#.#.#.#.#.#...#.....#...#.............#.#.#...#...#.....#.##
|
||||
#.#.#.#####.#####.###.#.#######.#.###.###.#.#.###.#####.###.#.#####.###########.#.###.###.#######.##
|
||||
#.#...#...#.#.....#.#...#.....#.#...#.#.#.#.#...........#.#.#.#...#.#...........#.#.#...#.......#.##
|
||||
#.#######.#.#.#####.#.###.###.#.#.###.#.#.#.#############.#.###.#.#.#.###########.#.###.#.#.#####.##
|
||||
#.........#...#.....#.#...#.....#.#...#.#.#.#.......#.....#.#...#.#.#.......#...#.....#.#.#.#...#.##
|
||||
#.#############.#.###.#.###########.###.#.#.#.#####.#.#.###.#.###.#.#####.#.###.#.#####.###.#.#.#.##
|
||||
#...............#.#...#.............#.....#...#...#.#.#.#...#.#...#.#...#.#...#...#.....#...#.#.#.##
|
||||
#.#####.#####.#####.###################.#####.#.#.#.###.#.###.#.#####.#.#.###.#####.#####.###.#.#.##
|
||||
#.#...#.#.....#...#...#...............#.#...#...#.#...#...#...#.......#.#...#.#.....#.....#...#.#.##
|
||||
###.#.###.###.#.#.###.#.#########.###.#.#.#.###.#####.###.#.###########.#####.#.#####.#####.###.#.##
|
||||
#...#.#...#.#.#.#.....#.....#.....#.#.#.#.#...#.#...#...#...#.........#.......#.......#.....#...#.##
|
||||
#.###.#.###.#.#.#############.#####.#.###.###.###.#.#.#.###.#.#######.#######.#######.#.#######.#.##
|
||||
#.#...#.#...#.#.....#.......#...#...#.....#.#.....#.#.#...#.#.#.....#.#.......#.......#...#...#...##
|
||||
#.#.###.#.#.#.#####.#.#####.###.#.#.#######.#######.#.###.#.#.#.#.#.#.#######.#.#########.#.#.###.##
|
||||
#.#.....#.#...#.#...#.#...#.....#.#.#.........#...#.#...#.#.#.#.#.#.#...#...#.#...#.......#.#.#...##
|
||||
#.#.#####.#####.#.###.#.#########.###.#####.#.#.#.#.#####.###.#.#.#.###.#.#.#####.#.#####.#.#.#.####
|
||||
#.#.#...#.....#.#.#...#.........#.......#...#...#.#.....#.....#.#.#.#.#...#.......#.#.....#.#.#...##
|
||||
#.#.#.#.#####.#.#.#.#####.#####.#########.###.#########.#.#######.#.#.#############.#######.#.###.##
|
||||
#.#.#.#.#...#...#.#.#...#.#...#.#...#...#...#.#.....#...#.......#.#.#.......#.....#.#.......#...#.##
|
||||
#.###.#.###.###.#.#.#.#.#.#.###.#.#.#.#.###.###.#.###.#########.#.#.#####.#.#.###.#.#.#########.#.##
|
||||
#.#...#...#...#.#...#.#.#.#.......#...#...#.#...#...#.#...........#.......#.#...#.#...#.........#.##
|
||||
#.#.#####.#.###.#####.#.#.###############.#.#.#####.#.###.#################.#.#.#######.#########.##
|
||||
#...#...#.#...#.#.....#...#.......#.......#.#.#.#...#...#.......#...#...#...#.#...#.....#.......#.##
|
||||
#.###.#.#.#.#.#.#.#######.#.#####.#.#####.#.#.#.#.#####.#########.#.###.#.###.###.#.#####.#####.#.##
|
||||
#.#...#.#.#.#.....#.....#.#.....#.#.#...#...#...#...#...#...#.....#...#.#...#.#...#.........#.#.#.##
|
||||
#.###.###.#######.#.###.#######.#.###.#.#.#####.###.#.###.#.#.#######.#.###.###.###########.#.#.####
|
||||
#...#...#.....#...#...#.....#...#...#.#.#.#...#.#.#...#...#...#...#...#...#.#...#.....#...#...#...##
|
||||
###.###.#####.###.###.###.###.#####.#.#.###.#.#.#.#####.#.#####.###.#####.#.#.###.###.#.#.###.###.##
|
||||
#.#.....#...#...#...#...#.....#...#.#.#.#...#...#...#...#.#...#.....#.....#.#...#...#...#.#...#...##
|
||||
#.#####.#.#####.#.#####.#########.#.#.#.#.#######.#.#.###.###.#.#####.#####.###.###.#####.#####.#.##
|
||||
#...#...#.....#.#.#.....#.........#...#.#...#.....#...#...#...#.....#.#...#.#.....#...#.........#.##
|
||||
#.###.#####.#.#.###.#######.#.#########.###.###########.###.#######.#.#.#.#.#.#####.#.###########.##
|
||||
#...#.#...#.#.#.....#.....#.#.......#.#...#.#...#.....#...#.....#...#...#.....#...#.#.........#...##
|
||||
#.#.#.#.#.###.#######.###.#######.#.#.###.#.#.#.#.###.###.#.###.#.#############.#.###########.#.####
|
||||
#.#.....#.............#...........#.....#.....#...#.......#...#.................#.............#..E##
|
||||
#S....#.......#...#...............................#.......#.....#.......#.....#.....#.....#.#.....##
|
||||
#####.#.#.#####.#.#.###########.#####.#########.###.#.###.###.#.#.#####.#.#.#.#.###.#.###.#.#.#.#.##
|
||||
#.....#.#.#.....#.......#.....#...#...#.......#.#...#...#.#...#...#...#.#.#.#...#.#.#.#...#...#.#.##
|
||||
#.#######.#.#############.###.#####.###.#####.#.#.#####.#.#.#######.#.#.###.#####.#.#.#.#######.####
|
||||
#.#.....#.....#.#.........#...#.....#...#.#...#.#.....#.#...#.#.....#.#.....#.....#.#.#.#.....#...##
|
||||
#.#.###.#####.#.#.#########.###.###.#.###.#.###.#####.#.#####.#.#.#############.###.#.#.###.#.###.##
|
||||
#...#...#...#...#...#.....#.#.....#.#.....#.#.....#.#.#.....#...#.........#.....#...#.#.#...#.....##
|
||||
#####.###.#.#######.#.#####.#####.#######.#.#####.#.#.#####.#############.#.#.###.###.#.#.#######.##
|
||||
#...#.....#.......#.#.......#...#.......#.#...#.#...#.#...#...#...#...#...#.#.....#...#...#.....#.##
|
||||
#.###############.#.#.#######.#.#.#####.#.###.#.#.###.###.###.#.#.#.#.#.###.#########.###.#.###.#.##
|
||||
#...#...#.........#.#.#.......#.#.#...#...#...#.#.#...#.....#...#...#.#.....#.........#...#...#.#.##
|
||||
#.#.#.#.#.#########.#.#.#######.#.###.#####.###.#.#.###.#########.###.#.#####.#.###########.###.#.##
|
||||
#.#...#...#.........#.#.#.....#.#.#.....#...#.....#.#...#.......#.#...#.......#.#...........#...#.##
|
||||
#.###############.###.#.#.###.#.#.#.###.#.#####.###.###.#.#####.#.#.#############.###########.######
|
||||
#.#...............#.#.#.....#.#.#...#...#.....#.#.#.....#...#...#.#.....#.....#...#.......#.#.#...##
|
||||
#.###.#############.#.#######.#.#######.#####.#.#.#####.###.#.#######.#.#.###.#.###.#####.#.#.#.#.##
|
||||
#.....#...#.....#...#.........#.......#.#...#.#...#...#...#.#.#.....#.#.#...#.#...#.#.......#...#.##
|
||||
#######.#.#.#.###.#.#################.#.#.#.#.###.###.#.###.#.###.#.#.#.#.###.###.#.#.###########.##
|
||||
#.......#...#.#...#...#.....#.......#.#.#.#.#...#.....#.#...#.....#.#.#...#...#...#.#.#...#.....#.##
|
||||
#.###########.#.###.#.#.###.#.#.#####.#.###.###.#######.#.#########.#.#####.#.#.###.#.#.#.#.###.#.##
|
||||
#...#.#.......#...#.#.#.#.#.#.#...#...#.#.....#...#.....#.#.......#.#.....#.#.#.#...#.#.#.#.#...#.##
|
||||
#.#.#.#.#########.#.#.#.#.#.#####.#.###.#.#.#####.#.#####.#.###.#.#.#####.#.#.#.#.###.#.###.#.###.##
|
||||
#.#.#.......#...#.#.#...#...#...#.#...#...#.#...#.#.#.#...#...#.#.#.....#.#.#.#.#.#.....#...#.#...##
|
||||
###.#######.###.#.#.#######.#.#.#.###.###.###.#.#.#.#.#.#####.#.#######.#.#.###.#.#.#####.###.#.####
|
||||
#...#...#.......#.#.......#...#.....#.#...#...#.#.....#.....#.#...#...#.#.#.......#.#.....#.#.#...##
|
||||
#.###.#.#########.#######.#######.###.#.###.###.#####.#####.#####.#.#.#.#.###########.#####.#.###.##
|
||||
#.....#.........#.#.#.....#...#...#...#...#...#...#.....#...#...#...#...#...#.....#...#...#.#.....##
|
||||
#.#############.#.#.#.#####.###.###.###.#####.###.#.#####.###.#.###.#########.###.#.###.#.#.#####.##
|
||||
#.#...#.....#...#.#.#.#.........#.#.#...#.....#...#...#...#...#...#.......#...#.#...#...#...#...#.##
|
||||
#.#.#.#.###.#.#.#.#.#.#####.#####.#.#####.#####.#######.###.#####.#######.#.###.#####.#.#####.#.#.##
|
||||
#...#...#.#.#.#.#...#.#...#.......#...#...#.....#...#...#...#...#.#.....#...#.........#.#...#.#...##
|
||||
#########.#.#.###.###.#.#.#####.#####.#.###.#####.#.#.#.#.###.#.#.#.#.#######.#########.#.#.#.######
|
||||
#...#.......#.#...#...#.#.....#.#...#...#...#.....#.#.#.#...#.#...#.#.........#.#.....#.#.#.#.#...##
|
||||
#.###.#######.#.###.###.#####.#.#.#.#####.###.#####.#.#####.#.#####.#######.###.#.#.###.#.#.#.#.####
|
||||
#...#.#...#...#...#.....#...#.#.#.#.....#...#...#...#.#.....#.#...#.#.....#.#.....#.....#.#.#.#...##
|
||||
###.#.###.#.#####.#########.#.###.#.#######.###.###.#.#.#####.###.#.#.###.#.#.#######.###.#.#.###.##
|
||||
#...#...#.#.#.....#.........#.#...#.......#...#...#.#.....#...#...#...#...#.#...#...#.#...#.#.....##
|
||||
#.#.###.#.#.#.#####.###.#####.#.#######.#####.###.#.#######.###.#######.###.#####.#.###.###.#####.##
|
||||
#.#.#...#.#...#.......#.....#...#.....#.....#...#.#.........#.........#.#.#.......#...#.#.#.......##
|
||||
#.###.###.#################.#####.#######.#.###.#.###########.###.#####.#.###########.#.#.##########
|
||||
#...#.#.........#.......#.......#.#.....#.#...#.#.#.#.......#.#.#.....#.#.........#...#...#.......##
|
||||
###.#.###.#####.#.#####.#.#####.#.#.###.#.###.#.#.#.#.#####.#.#.#####.#.#.#####.###.#.###.#.#####.##
|
||||
#...#.#...#...#...#...#...#.......#.#.#.#.#...#.#.#...#...#.#.#.....#.#...#.....#...#.#.#.#...#...##
|
||||
#.#.#.#.###.#######.#######.#######.#.#.###.###.#.#.###.#.#.#.###.###.###.#######.###.#.#.#####.#.##
|
||||
#.#.#.#.#.#...#.....#...#...#...#...#.......#...#.#...#.#...#...#...#.....#.......#.#...#.#.....#.##
|
||||
#.###.#.#.#.#.#.###.#.#.#.###.#.#.#######.###.###.###.#.#######.###.#######.#######.###.#.#.#####.##
|
||||
#.#...#.#.#.#.#...#...#...#.#.#.#...#...#.#...#...#...#.#.....#...#...#.....#.........#.#...#.....##
|
||||
#.#.###.#.#.#.###.#########.#.#.###.#.#.###.###.###.###.#.#.#.###.#.#.#.#####.#.#######.#####.######
|
||||
#...#...#...#...#.#.........#.#.....#.#.....#...#...#...#.#.#.#...#.#.#...#...#.............#.#...##
|
||||
#.###.###.###.###.#####.###.#.#.#####.#########.#.###.###.#.#.#.###.#.###.#.#################.#.####
|
||||
#.....#.#.#.#...#.....#...#.#.#.#.....#.........#.#.#.....#.#.#.#...#...#.#.............#.....#...##
|
||||
#######.#.#.###.#####.#.###.#.###.#######.#######.#.#######.#.#.#.#.###.#.###############.#######.##
|
||||
#.....#.......#...#...#.#...#.#...#.....#.#...#...#...#.....#.#.#.#...#.#.......#.......#.#.......##
|
||||
#.#.###.#######.###.#####.#.#.#.#####.#.#.#.#.#.###.###.###.###.#.###.#########.#.#####.#.#.#####.##
|
||||
#.#.#...#.#.....#...#.....#.#...#.....#.#.#.#...#.....#...#.#...#...#.........#...#...#...#...#...##
|
||||
#.###.###.#.#.###.###.###########.#####.#.#.#######.#.###.#.#.###.###########.#####.#.#######.#.####
|
||||
#.........#.#.#...#.........#.........#...#.......#.#...#.#.#...#.#...........#.....#.#.....#.#.#.##
|
||||
#.#########.#.#.###.#######.#.#######.###########.#####.#.#####.###.#########.#.#####.#.###.#.#.#.##
|
||||
#.#...#...#.#.#.#.........#...#.....#.#.....#...#.....#.#.......#...#.....#...#...#.#...#.#.#.#...##
|
||||
#.###.#.#.#.#.#.#############.#.#.###.#.#.#.#.#.#####.#.#########.###.###.#.#####.#.#####.#.#.######
|
||||
#.....#.#...#.#.............#...#.#...#.#.#.#.#.....#.#.............#.#...#.....#.#...#...#.#.....##
|
||||
#######.#.#################.#####.#.###.#.###.#.#.###.#.#######.###.###.#.#####.#.#.#.#.#.#.#.###.##
|
||||
#.......#.#...........#...#.#.....#.#...#.....#.#.#...#.#.....#...#...#.#.....#.#.#.#...#.#.#...#.##
|
||||
#.#########.#####.###.#.###.#####.#.#.#########.#.#.#####.###.###.###.#.#######.#.#######.#.#####.##
|
||||
#.....#.....#...#.#...#.#...#...#.#.#.........#.#.#.#.....#.#.#.#.#...#.......#...#.......#.#.....##
|
||||
#.###.#.#####.#.#.###.#.#.###.#.###.#########.#.###.#.#####.#.#.#.#.###.#####.#####.#.#####.#.###.##
|
||||
#.#...#...#...#.#...#...#.#...#.....#.....#...#...#.#.#.....#.#...#...#.#.....#.....#.#.....#.#...##
|
||||
###.#.###.###.#####.#.###.#.#########.###.#.#####.#.#.###.#.#.###.###.###.###.#.###.###.#####.######
|
||||
#...#...#...#.#.....#.#...#.#.....#.#.#.#.......#.#.#...#.#.#...#.#.#...#.#...#...#.#...#.........##
|
||||
#.#.#######.#.#.#####.#.###.#.#.#.#.#.#.#########.#.###.#.#####.#.#.###.#.#.###.###.#.###########.##
|
||||
#.#.#...#.....#...#...#.#...#.#.#...#...#.#.......#.....#.#.....#.....#.#.#.#...#...#...#.........##
|
||||
#.###.#.#.#######.#####.#.#.#.#.###.###.#.#.###.#########.#.#########.#.#.###.###.#####.#.#######.##
|
||||
#...#.#...#.....#.#.....#.#.#.#.#.#...#.#.#.#...#.........#...#.#.....#.#.....#.#.....#.#.#.....#.##
|
||||
#.#.#.#####.###.#.#.#######.#.#.#.###.#.#.#.#####.#######.###.#.#.#####.#.#####.#####.#.#.#.#.###.##
|
||||
#.#.#.#.#...#.#...#.........#.#.#.....#...#...#...#.....#...#.#...#.....#.......#...#.#.#.#.#.....##
|
||||
#.#.#.#.#.###.###.#############.#########.###.#.###.###.#.###.#.###.###########.#.#.#.#.#.###.######
|
||||
#.#.#...#...#.......#...........#.......#...#.#...#...#.#.#...#.#...#.........#...#.#.#.#...#.....##
|
||||
###.###.###.#########.###.#######.###.#.###.#.###.#####.#.#.#####.###.#.#####.###.###.#.###.#####.##
|
||||
#...#.#...#.......#...#.#.......#.#.#.#...#.#...#.....#.#.#...#...#...#...#.....#.#...#...#.#...#.##
|
||||
#.#.#.###.#######.#.###.#######.#.#.#.#####.###.#####.#.#.###.#.###.#####.#######.#.#####.#.#.#.####
|
||||
#.#.#.#.........#.#.#...#...#...#.#.#.....#.#.#.....#.#.#.#...#.#...#...#.#.....#.#.......#...#...##
|
||||
#.#.#.#.#########.#.#.#.#.#.#.###.#.#####.#.#.###.###.#.#.#.###.###.###.#.#.###.#.###############.##
|
||||
#.#...#.#.#.......#.#.#.#.#...#...#...#...#.#...#...#...#...#.....#.....#...#...#.....#...........##
|
||||
#.#####.#.#.#####.#.###.#.#####.#####.#.###.#.#.###.###.#######.#.###.#######.#######.#.###.#####.##
|
||||
#.....#.#.#.#...#.#.....#.......#.....#...#...#.#.#...#.#.....#.#...#.#.....#.......#.#.#...#...#.##
|
||||
#####.#.#.#.#.#.#.#####.#########.###.###.#####.#.#.###.#.###.#####.#.#.###.#.#.#####.#.#.###.###.##
|
||||
#.....#...#.#.#.....#...#.........#.#...#.........#.#...#.#.#.#...#.#.#...#.#.#...#...#.#.#...#...##
|
||||
#.###.###.#.#.#######.#######.#.###.###.###########.#.###.#.#.#.#.#.###.###.#####.#.#####.###.#.####
|
||||
#...#...#.#.#...#.....#.....#.#.#...#...#.......#...#.....#.#.#.#...#...#...#...#.#...#...#...#...##
|
||||
#.#.#.###.#.#####.#######.#.###.#.#.#.#####.#.#.#.#########.#.#.#####.###.###.#.#.###.#.###.#####.##
|
||||
#.#.#.#...#.....#.........#.....#.#.#.....#.#.#.#...#.........#...#...#...#...#.#...#...#.......#.##
|
||||
###.#.#.#######.###################.#####.###.#####.#.###########.#.###.#####.#.###.#####.#####.#.##
|
||||
#...#.#.#.......#.....#.........#.......#.....#.....#...#.#.....#.....#.#.....#.........#.#...#...##
|
||||
#.#####.#.#.#####.#.#.#.###.###.#.###########.#.###.###.#.#.#.#.#####.#.#.#########.#####.#.########
|
||||
#.......#.#.#.....#.#.#.#.#.#.....#...#.....#.#.#...#...#...#.#.....#.#.#.#.......#.#.....#.......##
|
||||
#.#######.###.#####.###.#.#.#######.#.#.#.###.#.#####.#######.#####.###.#.#.#####.###.###########.##
|
||||
#.......#.........#.......#.........#...#.....#...............#.........#.......#................E##
|
||||
####################################################################################################
|
||||
####################################################################################################
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user