Ciao ragazzi. Non riesco a capire in che modo attraverso la programmazione dinamica si risolve il problema “Lino il Giornalaio”. Sulla guida del Prof. Alessandro Bugatti ho trovato questo algoritmo:
1 int monete[100];
2 int soluzioni[1001];
3 int N,R;
4
5 int main()
6 {
7 ifstream in(“input.txt”);
8 ofstream out(“output.txt”);
9 in >> N >> R;
10 for (int i=0;i<N;i++)
11 in >> monete[i];
12 for (int i=0; i<=R; i++)
13 soluzioni[i] = 0;
14 soluzioni[0]=1;
15 for (int i = 0; i < N; i++)
16 for (int j = 0; j <= R - monete[i]; j++)
17 soluzioni[j + monete[i]] = soluzioni[j + monete[i]] + soluzioni[j];
18 out << soluzioni[R];
19 return 0;
20 }
Non riesco a capire il modo in cui questo algoritmo calcoli il massimo numero di combinazioni di monete.