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;
}
Прямо сейчас это рекурсивная memoized функция, но я хочу перевести это на итеративный эквивалент DP, если это возможно. Или это единственный способ сделать это?Перевести этот код из рекурсивного в итеративный DP
Букет из 'goto' и' stack' может эмулировать рекурсию. – Shivam
Трудно, не зная содержимого x и константы N. – Sylwester
N - целое число, может достигать 206 или около того, x - массив произвольных целых чисел. – user78793