1074번 - Z
pypy로 해도 시간초과가 뜨는데 어떻게 해야 시간 안에 문제를 풀 수 있는지 알려주실 분 계신가요?
다른 질문들을 찾아봐도 어떻게 해야할지 감이 안잡힙니다
해당 재귀함수들이 20번째줄의 return문에 막혀서 실행이 안됩니다
solve(n / 2, x, y)
solve(n / 2, x, y + n / 2)
solve(n / 2, x + n / 2, y)
solve(n / 2, x + n / 2, y + n / 2)
근데 저렇게 해줘야 답이 잘나옵니다. return을 없애면 에러가 납니다
<b>RecursionError</b>: maximum recursion depth exceeded in comparison
올려주신 코드에는 solve 재귀함수가 if N == 2: 안에 들어가 있는걸로 보입니다
오타 지적 감사드립니다:)
solve를 들어가실 때 행/열 + n만큼에 포함되지 않은 부분은 재귀로 들어갈 필요가 없습니다. 해당 부분만 분기 처리 해주시면 될듯하네요
그러면 재귀로 들어가지 않은 부분은 n*n 칸만큼 result에 더해주기만 하면 됩니다.
댓글을 작성하려면 로그인해야 합니다.
seongkwangz 1년 전
pypy로 해도 시간초과가 뜨는데 어떻게 해야 시간 안에 문제를 풀 수 있는지 알려주실 분 계신가요?
다른 질문들을 찾아봐도 어떻게 해야할지 감이 안잡힙니다