apdh25   4년 전

이 코드를 실행시키면 0%에서 바로 시간초과가 뜹니다.  사실 배열의 최대공간이 400개라 

시간초과염려를 전혀안했고 계산해봤는데  400*(400^2 + 400+400) = 64000000 (6천4백만) 정도? 로 알고 코드를 제출했습니다.

400^2는 BFS함수,  400+400 은 search(), eat() 두개의 함수가 이중for문으로 배열을 탐색하기떄문에 이렇게 계산하고 코드를 짯습니다.


아무튼 여기서 문제가 되길래 105줄에 잇는 search() 함수를 지웠습니다.  어차피 BFS탐색할때 상어의크기보다 더 큰 물고기들은 알아서 필터링되기떄문에 

search 함수를 없애고 코드를 돌리니까 시간초과문제가 해결되고 정답이더군요. 수행시간은 4ms 이었습니다. 

왜 이럴까 생각을 해봤는데 제 계산에 뭔가 착오가있는것같아 다른분들의 조언을 들어보고싶어 이렇게 질문을 올립니다!

sait2000   4년 전

이거 답이 뭔가요 안 풀어봐서 모르겠는데

apdh25   4년 전

0 이 뜹니당

sait2000   4년 전

저 케이스 넣고 돌려보세요 안 끝날걸요

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