Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<stdio.h>
- #define N 8
- #define K 8
- int main(void)
- {
- int x, y; // координаты лабиринта
- int maze[N][K];
- for (x = 0; x < N; x++)
- {
- for (y = 0; y < K; y++)
- scanf_s("%d ",&maze[x][y]);
- }
- x = 1; y = 0; // координаты старта
- maze[x][y] = 2;
- do
- {
- if (maze[x + 1][y] == 0)
- {
- x++;
- maze[x][y] = 2;
- }
- else
- {
- if (maze[x - 1][y] == 0)
- {
- x--;
- maze[x][y] = 2;
- }
- else
- {
- if (maze[x][y + 1] == 0)
- {
- y++;
- maze[x][y] = 2;
- }
- else
- {
- if (maze[x][y - 1] == 0)
- {
- y--;
- maze[x][y] = 2;
- }
- else
- {
- if ((maze[x + 1][y] != 0) && (maze[x - 1][y] != 0) && (maze[x][y - 1] != 0) && (maze[x][y + 1] == 2))
- {
- maze[x][y] = 3;
- y++;
- }
- else
- {
- if ((maze[x + 1][y] != 0) && (maze[x - 1][y] != 0) && (maze[x][y - 1] == 2) && (maze[x][y + 1] != 0))
- {
- maze[x][y] = 3;
- y--;
- }
- else
- {
- if ((maze[x + 1][y] != 0) && (maze[x - 1][y] == 2) && (maze[x][y - 1] != 0) && (maze[x][y + 1] != 0))
- {
- maze[x][y] = 3;
- x--;
- }
- else
- {
- if ((maze[x + 1][y] == 2) && (maze[x - 1][y] != 0) && (maze[x][y - 1] != 0) && (maze[x][y + 1] != 0))
- {
- maze[x][y] = 3;
- x++;
- }
- }
- }
- }
- }
- }
- }
- };
- } while ((x != N-1) && (y != K-1));
- printf("\n");
- printf("\n");
- printf("\n");
- for (x = 0; x < N; x++)
- {
- for (y = 0; y < K; y++)
- printf("%d ", maze[x][y]);
- printf("\n");
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement