From c5a4386d1ee169216f6b31e2fef8b6d4411385e4 Mon Sep 17 00:00:00 2001 From: vj586da Date: Sat, 22 Jan 2022 01:57:10 +0100 Subject: [PATCH] hm --- sk1a/maze.c | 26 +++++++++++++++----------- 1 file changed, 15 insertions(+), 11 deletions(-) diff --git a/sk1a/maze.c b/sk1a/maze.c index 2fbcf26..b6445ed 100644 --- a/sk1a/maze.c +++ b/sk1a/maze.c @@ -5,6 +5,7 @@ #include int paths(char* maze, int journey, int size){ + //printf("journy je:%d\n",journey); if(journey == size*size-1){ maze[journey]= '*'; @@ -12,19 +13,23 @@ int paths(char* maze, int journey, int size){ } if(journey >= 0 && journey < (size*size) && maze[journey]==' '){ - maze[journey] = '*'; + + maze[journey] = '*'; //Pohyb dole - if(paths(maze, journey+size, size)){ - return 1; - } + if(journey < (size * size) - (size)){ + if(paths(maze, journey+size, size)){ + return 1; + } + } //Pohyb vpravo - if(paths(maze, journey+1, size)){ - return 1; - } - + if((journey+1)%size!=0) { + if (paths(maze, journey + 1, size)) { + return 1; + } + } //Pohyb hore if(paths(maze, journey-size, size)){ @@ -32,11 +37,11 @@ int paths(char* maze, int journey, int size){ } //Pohyb vlavo - if(size%journey!=0){ + if((journey%size)!=0){ if(paths(maze, journey-1, size)) return 1; - } + maze[journey] = ' '; } @@ -46,4 +51,3 @@ int paths(char* maze, int journey, int size){ int solve_maze(char* maze, int size){ return paths(maze, 0, size); } -