dp[i] = dp[k*k] + dp[i-k*k]라..
k야 sqrt해서 나오는 것일 테고.. i 이하인 가장 큰 제곱수를 택한다는 그리디 전략이 아닌가요?
사실 반례가 있죠.
32
답 : 16 + 16
님이 선택하는 전략에 따르면
32 = 25 + 7
= 25 + 4 + 3
= 25 + 4 + 1 + 1 + 1
이렇게 됩니다.
1699번 - 제곱수의 합
dp[i] = dp[k*k] + dp[i-k*k]라..
k야 sqrt해서 나오는 것일 테고.. i 이하인 가장 큰 제곱수를 택한다는 그리디 전략이 아닌가요?
사실 반례가 있죠.
32
답 : 16 + 16
님이 선택하는 전략에 따르면
32 = 25 + 7
= 25 + 4 + 3
= 25 + 4 + 1 + 1 + 1
이렇게 됩니다.
댓글을 작성하려면 로그인해야 합니다.
kioio5 6년 전 1
이 코드가 틀린이유가뭘까요??? 결과는 잘 나오는것 같은데요..