2206번 - 벽 부수고 이동하기
배열의 인덱스를 arr[1000][1000]로 잡아두고
n-1, m-1 까지 접근해서 문제를 풀었는데요...
계속 틀렸습니다 나오길래 그냥 최대 범위를 1001로 수정하고 제출하니 정답이 되었습니당
왜 맞는지 모르겠습니다, 멍청한 저를 도와주세요
아래는 수정 후 코드입니다... (배열의 인덱스 1000인것을 모두 1001로 바꿨습니다)
해결은 3차원 배열로 벽을 뚫는가 아닌가에 대한 것보다는 다르게 풀었는데요
1. 시작점에서 bfs하고 s_to_e[] 에 결과 저장, 끝점에서 bfs한 후에 e_to_s[] 에 결과 저장
2. 벽을 찾아서 시작점의 경로와, 끝점의 경로 합친다고 생각하고 연산하여 로직을 구현했습니다
char형 배열 쓰셔서 그래요.
int형 배열에 받으시면 1000칸으로 됩니다.
C++쓰는 즈제에 널문자 생각도 못했네요...
감사합니다
댓글을 작성하려면 로그인해야 합니다.
malbong 3년 전
배열의 인덱스를 arr[1000][1000]로 잡아두고
n-1, m-1 까지 접근해서 문제를 풀었는데요...
계속 틀렸습니다 나오길래 그냥 최대 범위를 1001로 수정하고 제출하니 정답이 되었습니당
왜 맞는지 모르겠습니다, 멍청한 저를 도와주세요
아래는 수정 후 코드입니다... (배열의 인덱스 1000인것을 모두 1001로 바꿨습니다)
해결은 3차원 배열로 벽을 뚫는가 아닌가에 대한 것보다는 다르게 풀었는데요
1. 시작점에서 bfs하고 s_to_e[] 에 결과 저장, 끝점에서 bfs한 후에 e_to_s[] 에 결과 저장
2. 벽을 찾아서 시작점의 경로와, 끝점의 경로 합친다고 생각하고 연산하여 로직을 구현했습니다