// problem #86
벽 부수고 이동하기
시간 제한 2.0초
N×M 지도에서 0은 이동 가능, 1은 벽이다. (1,1)에서 (N,M)까지 최단 경로 칸 수를 구하되, 벽을 최대 한 번 부술 수 있다. 도달 불가면 -1.
입력
첫 줄 N, M. 이후 N개 줄에 붙어있는 0/1 문자열.
출력
지나는 최소 칸 수(시작·끝 포함), 불가능 -1.
제한
- 1 ≤ N, M ≤ 1,000
예제
입력 1
6 4 0100 1110 1000 0000 0111 0000
출력 1
15
입력 2
4 4 0111 1111 1111 1110
출력 2
-1