벽을 부서서(문제조건 : 1개까지) 최단거리일 수 있고 안부신 것이 최단거리일 수 있잖아요?
벽을 2개이상 부셔야만 한다면 -1출력하시면 되고요.
미로찾기보다는 알고스팟 문제를 풀어보고 이 문제를 풀어보면 도움 될거에요.
2206번 - 벽 부수고 이동하기
벽을 부서서(문제조건 : 1개까지) 최단거리일 수 있고 안부신 것이 최단거리일 수 있잖아요?
벽을 2개이상 부셔야만 한다면 -1출력하시면 되고요.
미로찾기보다는 알고스팟 문제를 풀어보고 이 문제를 풀어보면 도움 될거에요.
예시 하나 생각해봤는데요.
5 5
01100
01000
01110
01000
00010
출력 : 9
출력 값은 벽을 1개 깬 것이잖아요?
{가로 x, 세로 y (x,y)이면}
벽을 깨지 않는다면 (0,0) -> (0,4) --> (2,4) --> (2,3) --> (4,3) --> (4,4) 로 이동할 것인데 벽을 1개 깨서 최소거리는 9가 출력돼요.
알려주셔서 감사합니다.
댓글을 작성하려면 로그인해야 합니다.
qotnals1320 4년 전
미로찾기랑 거의 유사한 문제인데 어떻게 풀어야 할지를 몰라서 답을 보던 중에 int 배열visit을 선언해서 벽을 부수는 것을 최단 경로로 가져가기 위해서 갱신해나간다고 하였는데 이 말이 무슨 말인지 잘 이해가 가질 않습니다. 혹시 벽 부수는 과정을 이해시켜 주실분 계신가요..
코드 출처는 https://kim6394.tistory.com/201 여기입니다.