seonbi_g   3년 전

안녕하세요, 이번 연구소 문제와 관련해 여쭤볼 게 있어 질문 남깁니다.

먼저, 문제 풀이 방법은 아래와 같습니다.

1. 벽 3개를 세우는 경우의 수에 대해서 dfs 수행

2. 벽을 3개 세우면 bfs 수행

3. 안전 구역의 수를 비교


이런 식으로 구현을 했고 정답은 맞았지만 시간이 252ms 가 나왔습니다.


어느 부분에서 시간이 이렇게 많이 걸리는 걸까요? 

전역변수 사용이 문제가 되는건지, 아니면 dfs, bfs를 동시에 안쓰고 풀 수 있는 방법이 있는건지...

고수님들 조언 부탁드립니다 ! 감사합니다 :-)

glflakcm   3년 전

답변 달기에는 저도 초보지만 제가 짠 것을 기준으로 생각해보면 dfs 와 bfs 를 둘다 사용할 필요가 있을까 싶어요. 저 같은 경우에는 벽을 세울 수 있는 모든 경우의 수는 next_permutation 라이브러리 함수를 사용했습니다. dfs 는 바이러스가 퍼져나가는 용도로만 사용했구요. https://github.com/ronick-gram...  

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