본문 바로가기
NOTE/Algorithm

dovelet) maze 최단 거리 미로

by DevAthena 2015. 8. 25.







 
#include <stdio.h>
#pragma warning(disable:4996)
 
char map[100][100];
int visited[100][100];
int len = 1000;
int n, m;
 
void maze(int x, int y, int min)
{
    map[x][y] = '1';
 
    if (x == 0 && y == m - 1)
    {
        if (len > min)
            len = min;
    }
 
    if (map[x - 1][y] == '0')
    {
        maze(x - 1, y, min + 1);
    }
    if (map[x + 1][y] == '0')
    {
        maze(x + 1, y, min + 1);
    }
    if (map[x][y + 1== '0')
    {
        maze(x, y + 1, min + 1);
    }
    if (map[x][y - 1== '0')
    {
        maze(x, y - 1, min + 1);
    }
 
    map[x][y] = '0';
}
 
 
int main()
{
    int i;
    scanf("%d %d", &n, &m);
    for (i = 0; i < n; i++)
    {
        scanf("%s", &map[i]);
    }
 
    maze(n - 101);
 
    printf("%d\n", len);
 
    return 0;
}
cs


'NOTE > Algorithm' 카테고리의 다른 글

자료구조) Graph  (0) 2015.08.25
자료구조) QuickSort  (0) 2015.08.25
자료구조) linked_queue  (0) 2015.08.25
자료구조) linked_stack  (0) 2015.08.25
uva_10074) Take the Land  (0) 2015.08.21