Рекурсивная смена монет, запоминание пошло не такC++

Программы на C++. Форум разработчиков
Anonymous
Рекурсивная смена монет, запоминание пошло не так

Сообщение Anonymous »

Я пытаюсь понять, почему первый не работает, а второй работает, все, что я делаю, это передаю coinTrack, назовите это лишним, но почему это не работает?
Это работает без мемоизации, но при использовании мемоизации не получается, значит что-то там не так
Ввод не работает
coins = {1, 2, 5} target = 11
решение возвращает 7 => неправильно
решатель возвращает 3 => правильно
Локальный вывод
Ans=7
Ans=3

#include
#include
#include
#include

using namespace std;

map dp;

// Returns incorrect solution - 7
int solve(vector coins, int index, int result, int coinTrack) {
if(result==0) {
return coinTrack;
}

if(result

Подробнее здесь: https://stackoverflow.com/questions/786 ... gone-wrong

Вернуться в «C++»