View Code of Problem 3499

#include <stdio.h>

int sx = 0,sy = 0,ex = 4,ey = 4,success = 0;

int maze[5][5] = {{0,1,0,0,0},{0,1,0,1,0},{0,0,0,0,0},{0,1,1,1,0},{0,0,0,1,0}};

int visit(int x,int y)
{
    if(x > -1 && x < 5 && y > -1 && y < 5)
    {
        maze[x][y] = 2;
        if(x == ex && y == ey)
            success = 1;
        if(success == 0 && maze[x][y + 1] == 0)  visit(x,y + 1);
        if(success == 0 && maze[x][y - 1] == 0)  visit(x,y - 1);
        if(success == 0 && maze[x - 1][y] == 0)  visit(x - 1,y);
        if(success == 0 && maze[x + 1][y] == 0)  visit(x + 1,y);
        if(success == 0)
            maze[x][y] = 0;
    }
    return success;
}

int main(void)
{
    visit(sx,sy);
    int i,j;
    for(i = 0;i < 5;i++)
    {
        for(j = 0;j < 5;j++)
        {
            if(maze[i][j] == 2)
                printf("(%d, %d)\n",i,j);
        }
    }
    return 0;
}

Double click to view unformatted code.


Back to problem 3499