shinyou1024   4년 전

3055번 탈출 문제처럼 각 칸에 불이 언제 번지는지 먼저 기록해두고 

또 BFS를 돌려서 불이 번지기 전에 해당 칸을 방문할 수 있으면 큐에 넣어주는 방식으로 접근했습니다.

25%쯤에서 시간초과가 나는데 혹시 수정해야할 부분이 있을까요?

조언 부탁드립니다!

newdeal   4년 전

안녕하세요.

다음 같은 케이스를 생각해보면,

5 5

@****

*****

*****

*****

*****

109줄~110줄에서 *인 모든점에대해 bfs를 각각 돌리고 있습니다. 이 케이스같이 @를 뺀 나머지점이 모두*인 케이스 에서는

w*h개의 점에서 w*h만큼의 시간복잡도가 소요되어 O((w*h)^2)만큼의 시간복잡도를 가지게 됩니다.

맨처음 입력받을때 불의 좌표를 모두 저장해 둔 다음, 한꺼번에 큐에넣고 bfs를 돌리면 어떨까요?

shinyou1024   4년 전

답변 감사합니다!

fire[ny][nx] 가 초기값이거나 해당 칸을 기록보다 더 일찍 방문하게 되면 

큐에 넣어주는 방식으로 bfs를 수정해보고 있습니다

댓글을 작성하려면 로그인해야 합니다.