이 문제 생각보다 어렵지요?
제일 쉬운 방법은 log10 함수를 써서, 가망성이 없는 경우 빠르게 잘라내 버리는 것입니다.
가망성이 없다는 것은 이미 신 맛이라는 수치가 굉장히 커져버려서 쓴맛으로 차이를 보정한다고 해도 도저히 안 되는 경우를 말합니다.
예를 들어서 여태까지 계산한 신맛들의 곱을 t, 쓴 맛들의 합을 p라고 해 봅시다.
여기서, 신맛 t'과 p'이 들어왔습니다. 이 경우
tt' - (p + p') 은 어떻게 구하죠?
t가 10의 17승, 20승보다 커졌다고 가정해 봅시다.
p나 p'은 많아봤자 10억이죠.
tt'은 10의 17승, 20승보다 큽니다. 여기서 10억을 빼 봤자 얼마나 빠질까요?
만약에 신맛들의 곱 한계치를 40억? 50억? 정도로 설정했다고 해 봅시다.
이 경우는 10억, 20억이 빠지는 게 꽤 크리티컬해집니다.
하지만 10의 17승에 비해서 10억, 20억은 그냥 작은 숫자일 뿐이지요.
cod2dev 6년 전
재귀호출 문제 중 쉽고 간단한 문제를 고른건데도 불구하고 못풀어서 부탁드려요ㅠㅠ
제가 하려고 한 건 문제에 대해 완전탐색을 재귀호출로 구현하려했습니다.
pick함수가 diff를 반환하지도 않는데 min함수로 현재 함수의 diff랑 비교하고.. 제가 봐도 안돌아가게 짰지만
재귀함수에 대한 이해도가 낮아서, 어디를 바꿔야 할 지 모르겠습니다.
도움 부탁드려요.