// ----------------------------------------------------- //
#define width 25
// 지도배열의 가로 크기
#define height 16
// 지도 배열의 세로 크기
#define StartX 1
// 시작지점 X 좌표
#define StartY 1
// 시작지점 Y 좌표
#define FinishX 23
// 도착 지점 X 좌표
#define FinishY 14
// 도착지점 Y 좌표
// ----------------------------------------------------- //
int maze[16][25] = {
{2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
{2,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2},
{2,2,2,0,2,2,2,2,2,0,2,0,2,2,2,2,2,2,2,2,2,2,0,2,2},
{2,2,2,0,2,0,0,0,2,0,2,0,2,0,0,0,0,0,0,0,0,2,0,0,2},
{2,0,0,0,2,0,2,0,2,0,2,0,2,0,2,2,2,2,2,2,0,2,2,0,2},
{2,0,2,0,2,2,2,0,2,2,2,0,2,0,2,0,0,0,0,0,0,2,2,0,2},
{2,0,2,0,0,0,0,0,0,0,2,0,2,0,2,2,2,2,0,2,0,0,0,0,2},
{2,0,2,2,2,2,2,2,2,0,2,0,2,0,0,0,0,2,0,2,2,2,2,2,2},
{2,0,0,0,0,0,0,2,2,0,2,0,2,2,2,2,0,2,0,2,0,0,0,0,2},
{2,2,2,2,2,2,0,2,2,0,2,0,0,0,0,2,0,2,2,2,0,2,0,2,2},
{2,0,0,0,0,2,0,2,2,0,2,0,2,2,0,2,0,2,2,2,0,2,0,2,2},
{2,0,2,2,0,2,0,2,2,0,2,0,2,2,0,2,0,0,0,0,0,2,0,2,2},
{2,0,2,2,0,2,0,2,2,0,2,0,2,2,0,2,0,2,2,2,2,2,0,0,2},
{2,0,2,2,2,2,0,2,2,0,0,0,2,2,0,2,0,2,2,2,2,2,2,2,2},
{2,0,0,0,0,0,0,2,2,2,2,2,0,0,0,2,0,0,0,0,0,0,0,0,2},
{2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2}
};
void ShowMaze(int arr[height][width]); // 미로를 보여주는데 사용
int visit(int i, int j); // 미로의 방문하는 함수
.... 이하 생략