문제 설명
N×M크기의 사각형모양 호수가 있다.
101111
101010
101011
111011
호수에서 1은 지나갈 수 있는 돌이고, 0은 물이다.
돌을 밟고 지나갈 때에 점프하거나 물이 있는 곳으로 수영해서 갈 수 없다.
이러한 호수가 주어졌을 때, 가장 왼쪽 상단(1, 1)에서 출발하여 가장 오른쪽 하단(N, M)의 위치로 이동할 때 지나야 하는 최소의 칸 수를 구하는 프로그램을 작성하시오.
한 칸에서 다른 칸으로 이동할 때, 서로 인접한 칸(상하좌우)으로만 이동할 수 있다.
위의 예에서는 15칸을 지나야 (N, M)의 위치로 이동할 수 있다. 칸을 셀 때에는 시작 위치와 도착 위치도 포함한다.
입력 설명
첫째 줄에 두 정수 N, M(2 ≤ N, M ≤ 100)이 주어진다. 다음 N개의 줄에는 M개의 정수로 호수가 주어진다. 각각의 수들은 붙어서 입력으로 주어진다.
출력 설명
첫째 줄에 지나야 하는 최소의 칸 수를 출력한다. 항상 도착위치로 이동할 수 있는 경우만 입력으로 주어진다.
4 6
101111
101010
101011
111011