1261번 - 알고스팟
N행 M열로 입력받았습니다.
logic:
처음에 0,0 을 우선순위 큐에 밀어넣고 가중치를 0으로 설정합니다.(시작 지점과 끝 지점은 벽이 없음이 보장되므로)
이후 dn, dm 배열을 이용하여 현재 위치를 기준으로 상하좌우를 체크하여 방문하지 않은 곳이라면 우선순위 큐에 밀어넣습니다.
이를 반복하다 (N-1, M-1)에 도착하면 현재 가중치를 출력합니다.
질문글에 있는 테스트 케이스
case1
input:
1 1
0
output:
case2
3 1
0 1 0
1
위의 케이스 등등 일반적인 것들은 모두 확인해봤습니다.
100%까지 보여준 후 틀렸다고나옵니다.
논리에 오류가 있는건지 특정 케이스에서 걸리는 것 같은데, 고수님들의 조언이 필요합니다.
N-1, M-1과의 비교는 꺼낼 때 하셔야 정답인지 확신할 수 있지 않을까요?
map[tn][tm]이 1일 때와 0일 때를 신경 쓰지 않고 출력하시면 답임을 확신할 수 없습니다.
감사합니다.
다익스트라 구현 자체가 틀렸었네요..!
좋은하루 되세요 :)
댓글을 작성하려면 로그인해야 합니다.
clcell3 3년 전
N행 M열로 입력받았습니다.
logic:
처음에 0,0 을 우선순위 큐에 밀어넣고 가중치를 0으로 설정합니다.(시작 지점과 끝 지점은 벽이 없음이 보장되므로)
이후 dn, dm 배열을 이용하여 현재 위치를 기준으로 상하좌우를 체크하여 방문하지 않은 곳이라면 우선순위 큐에 밀어넣습니다.
이를 반복하다 (N-1, M-1)에 도착하면 현재 가중치를 출력합니다.
질문글에 있는 테스트 케이스
case1
input:
1 1
0
output:
0
case2
input:
3 1
0 1 0
output:
1
위의 케이스 등등 일반적인 것들은 모두 확인해봤습니다.
100%까지 보여준 후 틀렸다고나옵니다.
논리에 오류가 있는건지 특정 케이스에서 걸리는 것 같은데, 고수님들의 조언이 필요합니다.