double R(int N, int x[206], int i, int c){
if (memo[i][c] != 0) return memo[i][c];
if (i==N){
if (c>=23) return 1;
else return 0;
}
double s;
s = R(N,x,i+1,c+x[i]);
s += R(N,x,i+1,c-x[i]);
memo[i][c] = s;
return s;
}
지금은 재귀 적으로 메모를 작성한 함수입니다. 가능한 한 반복적 인 동등한 DP로 변환하고 싶습니다. 아니면 내가 할 수있는 유일한 방법인가?이 코드를 재귀 적에서 반복적으로 변환하십시오. DP
'goto'와'stack'의 무리는 재귀를 에뮬레이트 할 수 있습니다. – Shivam
x와 상수 N의 내용을 알지 못하면 어렵습니다. – Sylwester
N은 정수로, 최대 206 개까지 갈 수 있습니다. x는 임의의 정수 배열입니다. – user78793