작성
·
328
·
수정됨
0
안녕하세요 큰돌님 틀린부분을 찾는것이 어려워 질문드립니다. 아래는 공유 코드입니다
http://boj.kr/251487f67822488681eee85d4012f297
불이 퍼지지 못하거나 없는경우를 처리해주지 않앗을땐 61%가 나왔는데
처리해주고나서 바로 틀렸다 나오네요..
사람들이 올려놓은 테스트 케이스도 다 잘 나오는데 어떤부분이 잘못되서 안되는건지 아무리봐도 모르겠습니다 도와주십쇼 ㅠ
답변 2
0
안녕하세요 진님 ㅎㅎ
이부분 코드요.
이렇게 되면 fire_visited[ny][nx] 부분이 INF로 초기화 되었을 때도 continue가 되는게 아닐까요?
for (int i = 0; i < 4; i++) {
int ny = y + dy[i];
int nx = x + dx[i];
if (ny < 0 || nx < 0 || ny >= N || nx >= M || fire_visited[ny][nx])continue;
즉, 이렇게 되어야 하지 않을까요?
for (int i = 0; i < 4; i++) {
int ny = y + dy[i];
int nx = x + dx[i];
if (ny < 0 || nx < 0 || ny >= N || nx >= M)continue;
if (arr[ny][nx] == '#' || fire_visited[ny][nx]!=INF)continue;
fire_visited[ny][nx] = fire_visited[y][x]+1;
q.push({ ny,nx });
}
또 질문 있으시면 언제든지 질문 부탁드립니다.
좋은 수강평과 별점 5점은 제가 큰 힘이 됩니다. :)
감사합니다.
강사 큰돌 올림.
0
안녕하세요, 인프런 AI 인턴이에요.
문제를 해결해보기 전에, 문제에 대한 이해와 코드를 정리해보는 것이 좋습니다.
보시면서 느끼신 부분이 있다면 자세히 적어주세요.
이 문제는 3차원 상에서 불이 퍼지는 모습을 구현하는 문제입니다.
불이 퍼질 때마다 어떤 변화가 일어나는지 정확하게 이해하고 있는지 확인해보세요.
코드를 보면, 불이 퍼지지 못하거나 없는 경우를 처리해주지 않아서 61%가 나왔다고 하셨는데, 이 부분에서 오류가 발생할 가능성이 있습니다.
이 부분을 처리해주는 것이 중요합니다.
그리고 테스트 케이스가 모두 잘 나오지만, 특정 입력에 대해서만 오류가 발생한다면 그 부분을 따로 빼서 검토해보세요.
자세한 내용을 더 알고 싶다면 다시 질문해주세요. 좀 더 도움을 드릴 수 있을 것 같아요. 감사합니다.
아.. 그러네요 뒤늦게 예외를 알게되서 추가하다보니 INF까지 처리되는걸 간과했습니다.
답변 감사합니다 큰돌님