shinbian11   3년 전

28번째 줄에서 ans를 초기화 할때 1e9나 5000004와 같이 문제에서 주어진 값을 최대로 해도 저 초기값보다 클 수 없는 값으로 하면 시간초과가 나는 이유가 뭔가요?? 

재귀함수를 이해하는 부분이 너무 어렵습니다..

djm03178   3년 전

정확히 어떻게 쓰셨다는 건지 코드를 볼 수 있을까요? int& ans = d[i][j]; 대신에 int ans = 1e9;와 같이 쓰셨다는 건가요?

shinbian11   3년 전

넵! int ans=1e9 로 했는데 시간초과가 뜹니다.

djm03178   3년 전

그렇게 쓰면 d 배열의 값이 전혀 변하지 않기 때문에 메모이제이션이 발생하지 못하고, 그래서 중복된 탐색을 여러 번 수행하게 됩니다.

shinbian11   3년 전

감사합니다!

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