[6] я забыл инклюднуть файлы xd

This commit is contained in:
mddcorporation 2026-05-09 16:12:27 +03:00
parent b1331cab37
commit 9a0d642c3c
10 changed files with 222 additions and 0 deletions

View File

@ -0,0 +1 @@
S E

Binary file not shown.

After

Width:  |  Height:  |  Size: 51 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 57 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 54 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 53 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 53 KiB

View File

@ -0,0 +1,101 @@
#####################################################################################################
#S # # # # # # # # # # # # # # # # # # #
# # # ####### ########### # # # ######### ######### ##### # ### # ####### ##### # # # # # ### ### # #
# # # # # # # # # # # # # # # # # # # # # # #
### ### # ##### ##### ### ### ####### # # # ##### # # # ####### ##### ##### ### # ##### # ####### # #
# # # # # # # # # # # # # # # # # # # # #
# # # ### # ### # # ####### # # ### ##### ### ### # ####### # ### ### ##### ##### ### ##### ### ### #
# # # # # # # # # # # # # # # # # # # # #
# ### ##### ######### ### ####### ### # ### # ### # ######### # ######### # ### # ### # ##### #######
# # # # # # # # # # # # # # # # # # # # # # # # # #
### ### ### # ### ######### # ##### ### # # ### ####### # ########### # # ### ############### #######
# # # # # # # # # # # # # # # #
# ##### # # ####### # # ##### ### # ### ######### # ##### ##### ### ### # ### # # ####### # ### #####
# # # # # # # # # # # # # # # # # # # # # # # # # #
### # ### # ### # ### # ### # ### ### # # ####### ####### ##### ##### # # # # ##### ### ### ### # ###
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# # ### # ### # # ####### ##### # ######### # # # # ### # ### ### ### ##### # # ### # # ### # #######
# # # # # # # # # # # # # # # # # # # # # # # # # #
##### # ##### # # ### # # # # # ####### # ### # ##### ### # ##### # # # # ##### # ### # ##### # # ###
# # # # # # # # # # # # # # # # # # # # # # # # # # # #
# # # # # ##### # # # ### # ### # ### ### # ##### # ### # # ##### ############# ##### ### ##### ### #
# # # # # # # # # # # # # # # # # # # # # # # # # # # #
# ##### # # ### # ### ################### ### ### ### # ### # ### # # ### ### ######### ### ####### #
# # # # # # # # # # # # # # # # # # # # # # # # # # # #
##### ### ##### ####### ### ### ##### # # ### ### ### ### ### # ### ### ### ### ##### # # ### # #####
# # # # # # # # # # # # # # # # # # # # # # # # # #
### # ### # ### # # # # # ####### # ### ############# ####### ### ### ### # # ### ####### # ### # ###
# # # # # # # # # # # # # # # # # # # # # # #
# # # ##### ### # ### # ### # ### # # # # # ### ### # ### ### # # ### ##### # ### ### # ##### ##### #
# # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# # # ##### ##### # # # ############### ##### # ### ### # # ##### ####### ##### ####### ##### ### # #
# # # # # # # # # # # # # # # # # # # # # # #
##### ### ##### # # # # # # ### ##### ### ########### # ### # # # ### ### # # # ### # # ######### # #
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
### # ### # ### # ##### ##### ##### ########### # ### ### ##### # ##### ### ### ##### ######### # # #
# # # # # # # # # # # # # # # # # # # # # #
# ### # ####### # ### ##### # # ############# ### ####### # # ### # # ### # ####### ### # # # # #####
# # # # # # # # # # # # # # # # # # # # # # # # # #
####### # # ### # ########### # ### ##### ########### # ##### ### # ### ############# # # # # ##### #
# # # # # # # # # # # # # # # # # # # # # # # # # # #
# ### ##### ### # ### # # ### ### ### ### # ##### ##### ### # # ### ### # # ##### ### ####### #######
# # # # # # # # # # # # # # # # # # # # # # # #
# ##### # # # # ##### # # # ######### ### # ####### # # ####### # ##### ### # ### ### # # ####### ###
# # # # # # # # # # # # # # # # # # # # # # # # # # # #
# # ####### # # # # # ### ####### # # # ####### # ### # ### ### # ##### ##### ### # ##### ### ### # #
# # # # # # # # # # # # # # # # # # # # # # # #
# ##### ### # # ######### ##### ####### ##### # ##### ####### ### ### ####### ##### ### ##### # # # #
# # # # # # # # # # # # # # # # # # # # # # # #
# # ######### # # # ####### ### # ####### # # ##### # ### # ### # ########### ############# ##### # #
# # # # # # # # # # # # # # # # # # # # # # #
# ### ##### # ##### # ### # ##### # ### # ### ### # # ### ##### ##### # # # ### # ############# # ###
# # # # # # # # # # # # # # # # # # # # # # # # # # # #
### # ### ### # # ######### ### ### ### ### # # ####### # ### ######### ### ##### # # # # ### # #####
# # # # # # # # # # # # # # # # # # # # #
### # ######### ######### # ### # # ### # ############# # # # # # # ############# ######### # #######
# # # # # # # # # # # # # # # # # # # # # # # # # # #
# # # # ### ### ### ### ### # ##### # # ##### ####### # # # # ### # # # # ### ### # # # # ##### # ###
# # # # # # # # # # # # # # # # # # # # # # # # # # #
# # ### ##### ### ### # # # ### # # ######### ######### ##### ##### # ######### ### # # ### # ### ###
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
### ##### ### # # # ############### # ### ### # # ### ### # ##### # ### # ##### ### ######### # #####
# # # # # # # # # # # # # # # # # # # # # # #
# ##### ### ### ### # ####### # ### # ### ### ######### # ### ######### # # ### # ### ########### ###
# # # # # # # # # # # # # # # # # # # # # # # # # # # #
# # ### ### # # ##### ### # # ### ### ##### ### ### # ########### # ### ####### # # ######### ### ###
# # # # # # # # # # # # # # # # # # # #
##### ### # # # # # # ##### ####### # # # ####### # ####### # ##### ######### # ### # ####### # #####
# # # # # # # # # # # # # # # # # # # # # # # #
# ### # ### ### ####### # ### # ### # # ####### # ### # ### ##### ##### ### ####### # # # ##### ### #
# # # # # # # # # # # # # # # # # # # # # # # # # # #
# # # ### # # ############### # # ##### # ##### ########### # # # ### # ### ### ### ### # ### # ### #
# # # # # # # # # # # # # # # # # # # # # # # # # # #
##### ######### ##### ### # ### # ### # ### ### ####### ######### ########### ##### # ### # ### # # #
# # # # # # # # # # # # # # # # # # # # # # # # # # #
### # ### ### # ##### # ##### # ##### # # ##### ####### # ####### ### ##### ### ####### ##### ### ###
# # # # # # # # # # # # # # # # # # # # # # #
##### ### # # ##### ####### ### # ##### ####### ### # # # ### ####### ### # ##### ####### # # ##### #
# # # # # # # # # # # # # # # # # #
# ### ####### ##### ####### ### # ### ##### ##### ### # # ### # ### ### # # # ####### # # ##### # # #
# # # # # # # # # # # # # # # # # # # # # # # # # # #
# ### ### ##### ######### # ##### ##### # # # # ### ##### ### # # # # # ######### # ######### # ### #
# # # # # # # # # # # # # # # # # # # # # # # # # # #
# # # ####### ### ##### ######### ##### ########### # ### # ### # # # # ##### # # ### ##### ##### ###
# # # # # # # # # # # # # # # # # # # # # # #
# # # ### # ### ##### ### # ########### ##### # ####### # ##### # # ### # # ##### ### # ######### ###
# # # # # # # # # # # # # # # # # # # # # # # # #
# # # ### ### # ######### # ### # # # ##### ### # # ### ##### ##### ### ### ############# ####### # #
# # # # # # # # # # # # # # # # # # # # # # # # #
##### ### # ### ### # # # ### ##### # ##### # ##### # ### ##### # ### ### # # # # # ##### # #########
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# # ##### # ### # # # ##### # ### ### ##### # ### ##### # ### ####### ### # ##### ### # ##### # # ###
# # # # # # # # # # # # # # # # # # # # # # #
# # # ### ########### ##### # ### # # ### # ######### ####### # # # # ########### ### ####### ##### #
# # # # # # # # # # # # # # # # # # # # # # # # #
# ### # # ### ############# ### # ### ##### ### ### ##### # # ### ######### ### ### ### # # ### ### #
# # # # # # # # # # # # # # # # # # # # # # # # # # # # #
##### ### # ### # # # # # ### # # ### # # ####### ####### # # ##### # ### # # ##### # ### # ### ### #
# # # # # # # # # # # # # # # # # # # # # # # # # #
### # ### ##### ### ### # # # ##### ### # ### ### ##### # ##### ### # # ##### # ####### # ######### #
# # # # # # # # # # # # # # # # # # # # # # E#
#####################################################################################################

View File

@ -0,0 +1,51 @@
###################################################
#S # # # #
# # # ####### ########### # # # ######### #########
# # # # # # # # # # # # # #
### ### # ##### ##### ### ### ####### # # # ##### #
# # # # # # # # # # # # #
# # # ### # ### # # ####### # # ### ##### ### ### #
# # # # # # # # # #
# ### ##### ######### ### ####### ### # ### # ### #
# # # # # # # # # # # # # #
### ### ### # ### ######### # ##### ### # # ### ###
# # # # # # # # # # #
# ##### # # ####### # # ##### ### # ### ######### #
# # # # # # # # # # # # # #
### # ### # ### # ### # ### # ### ### ### #########
# # # # # # # # # # # # #
# # ### # ### # # ####### ##### # ######### ##### #
# # # # # # # # # # # # #
##### # ##### # # ### # # # # # ######### ##### ###
# # # # # # # # # # # # #
# # # # # ##### # # # ### # ### # ####### # #######
# # # # # # # # # # # # # # # # #
# ##### # # ### # ### ################# # ### ### #
# # # # # # # # # # # # #
##### ### ##### ####### ### ### ##### ### # # #####
# # # # # # # # # # # #
### # ### # ### # # # # # ##### # # ##### # # #####
# # # # # # # # # # # # # # # # #
# # # ##### ### # ### # ### # ### # ####### # # # #
# # # # # # # # # # # # # # #
# # # ##### ##### # # # ####### # ### ####### ### #
# # # # # # # # # # # # #
##### ### ##### # # # # # # ##### # # # # ### # # #
# # # # # # # # # # # # # # # # # # #
### # ### # ### # ##### ##### ####### ########### #
# # # # # # # # # # # #
# ### # ####### # ### ##### ##### ### ### #########
# # # # # # # # # # # #
####### # # ### # ######### # ##### # ##### # ### #
# # # # # # # # # # # # # #
# # ####### ### # ### # # ##### ######### ### #####
# # # # # # # # # # # # # #
### ### # # # # ##### ### ##### # # # ### # # # # #
# # # # # # # # # # # # # #
### ### # # # # ### # # # ##### ######### ####### #
# # # # # # # # # # # # #
##### # # ### # # ########### ### ##### # # ### # #
# # # # # # # # # # # # # #
### ### # ##### # # ### ### ##### ### # # ### ### #
# # # # # # # # # # # # #E#
###################################################

View File

@ -0,0 +1,16 @@
лабиринт,стратегия,время_мс,посещено_клеток,длина_пути,путь_найден
easy.txt,BFS,0.046,32.0,17.0,True
easy.txt,DFS,0.026,28.0,17.0,True
easy.txt,AStar,0.037,21.0,17.0,True
medium.txt,BFS,1.141,1249.0,101.0,True
medium.txt,DFS,0.547,633.0,101.0,True
medium.txt,AStar,1.26,721.0,101.0,True
hard.txt,BFS,4.703,4997.0,209.0,True
hard.txt,DFS,3.61,4026.0,209.0,True
hard.txt,AStar,6.119,3377.0,209.0,True
noexit.txt,BFS,0.002,1.0,0.0,False
noexit.txt,DFS,0.002,1.0,0.0,False
noexit.txt,AStar,0.005,1.0,0.0,False
empty.txt,BFS,0.003,3.0,3.0,True
empty.txt,DFS,0.003,3.0,3.0,True
empty.txt,AStar,0.004,3.0,3.0,True
1 лабиринт стратегия время_мс посещено_клеток длина_пути путь_найден
2 easy.txt BFS 0.046 32.0 17.0 True
3 easy.txt DFS 0.026 28.0 17.0 True
4 easy.txt AStar 0.037 21.0 17.0 True
5 medium.txt BFS 1.141 1249.0 101.0 True
6 medium.txt DFS 0.547 633.0 101.0 True
7 medium.txt AStar 1.26 721.0 101.0 True
8 hard.txt BFS 4.703 4997.0 209.0 True
9 hard.txt DFS 3.61 4026.0 209.0 True
10 hard.txt AStar 6.119 3377.0 209.0 True
11 noexit.txt BFS 0.002 1.0 0.0 False
12 noexit.txt DFS 0.002 1.0 0.0 False
13 noexit.txt AStar 0.005 1.0 0.0 False
14 empty.txt BFS 0.003 3.0 3.0 True
15 empty.txt DFS 0.003 3.0 3.0 True
16 empty.txt AStar 0.004 3.0 3.0 True

View File

@ -0,0 +1,53 @@
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
import sys
import os
def plot_results(csv_file: str, output_dir: str = "plots"):
if not os.path.exists(csv_file):
print(f"Файл {csv_file} не найден.")
return
df = pd.read_csv(csv_file, encoding='utf-8')
required = ["лабиринт", "стратегия", "время_мс", "посещено_клеток", "длина_пути"]
for col in required:
if col not in df.columns:
print(f"В CSV отсутствует колонка {col}")
return
os.makedirs(output_dir, exist_ok=True)
sns.set_style("whitegrid")
for maze_name in df["лабиринт"].unique():
maze_df = df[df["лабиринт"] == maze_name]
fig, axes = plt.subplots(1, 3, figsize=(15, 5))
fig.suptitle(f"Сравнение стратегий для лабиринта {maze_name}", fontsize=14)
ax = axes[0]
sns.barplot(data=maze_df, x="стратегия", y="время_мс", ax=ax, palette="viridis")
ax.set_title("Время выполнения (мс)")
ax.set_ylabel("мс")
ax = axes[1]
sns.barplot(data=maze_df, x="стратегия", y="посещено_клеток", ax=ax, palette="plasma")
ax.set_title("Количество посещённых клеток")
ax.set_ylabel("клетки")
ax = axes[2]
sns.barplot(data=maze_df, x="стратегия", y="длина_пути", ax=ax, palette="coolwarm")
ax.set_title("Длина найденного пути")
ax.set_ylabel("шаги")
plt.tight_layout()
plt.savefig(os.path.join(output_dir, f"results_{maze_name}.png"), dpi=150)
plt.close()
if __name__ == "__main__":
if len(sys.argv) < 2:
print("Использование: python tables.py <csv_файл> <папка_для_сохранения>")
print("Пример: python tables.py res.csv plots")
sys.exit(1)
csv_file = sys.argv[1]
out_dir = sys.argv[2] if len(sys.argv) > 2 else "plots"
plot_results(csv_file, out_dir)