ts930904   6년 전

1005 번 문제푸는데 시간초과 때문에 막혀있습니다.

bfs 와 dp를 이용하여 도전해보았으나 시간초과에서 빠져나오질 못하고있습니다 ㅠㅠ


제 코드에서 시간을 단축시키는 방법이 있을까요?

아니면 접근방식을 완전히 바꿔야할까요...?


고수님들의 도움 부탁드립니다. ㅠㅠ

djm03178   6년 전

규칙의 수가 아주 많은(N^2 가까이) 것이 아닌 이상, 인접 행렬을 만드는 건 비효율적입니다. false일 확률이 높은데도 불구하고 N개를 다 돌아야 하기 때문이죠. 케이스마다 N^2 + K 시간이 걸리는데, 인접 행렬 대신에 꼭 필요한 간선만 추가하는 방식으로 하면 N + V 시간으로 단축할 수 있습니다.

게다가 지금 코드에서 path는 할당이 잘못된 것 같습니다. K는 건물 짓는 규칙의 수일 뿐이고, path는 [N + 1][N + 1]이 되어야 합니다.

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