5427번 - 불
3055번 탈출 문제처럼 각 칸에 불이 언제 번지는지 먼저 기록해두고
또 BFS를 돌려서 불이 번지기 전에 해당 칸을 방문할 수 있으면 큐에 넣어주는 방식으로 접근했습니다.
25%쯤에서 시간초과가 나는데 혹시 수정해야할 부분이 있을까요?
조언 부탁드립니다!
안녕하세요.
다음 같은 케이스를 생각해보면,
5 5
@****
*****
109줄~110줄에서 *인 모든점에대해 bfs를 각각 돌리고 있습니다. 이 케이스같이 @를 뺀 나머지점이 모두*인 케이스 에서는
w*h개의 점에서 w*h만큼의 시간복잡도가 소요되어 O((w*h)^2)만큼의 시간복잡도를 가지게 됩니다.
맨처음 입력받을때 불의 좌표를 모두 저장해 둔 다음, 한꺼번에 큐에넣고 bfs를 돌리면 어떨까요?
답변 감사합니다!
fire[ny][nx] 가 초기값이거나 해당 칸을 기록보다 더 일찍 방문하게 되면
큐에 넣어주는 방식으로 bfs를 수정해보고 있습니다
댓글을 작성하려면 로그인해야 합니다.
shinyou1024 4년 전
3055번 탈출 문제처럼 각 칸에 불이 언제 번지는지 먼저 기록해두고
또 BFS를 돌려서 불이 번지기 전에 해당 칸을 방문할 수 있으면 큐에 넣어주는 방식으로 접근했습니다.
25%쯤에서 시간초과가 나는데 혹시 수정해야할 부분이 있을까요?
조언 부탁드립니다!