Heres das Problem: Ein Milchmann dient Milch in abgepackten Flaschen unterschiedlicher Größe. Die mögliche Größe der Flaschen ist {1, 5, 7 und 10} Liter. Er möchte die gewünschte Menge mit möglichst wenig Flaschen liefern, unabhängig von der Größe. Ihr Ziel ist es, ihm zu helfen, die Mindestanzahl von Flaschen zu finden, die erforderlich sind, um den gegebenen Milchbedarf zu decken.auf dynamische Programmierung stecken
Eingangsformat:
erste Zeile enthält Anzahl der Testfälle N nächsten N Zeilen enthalten jeweils eine positive ganze Zahl ist, die Li auf die Nachfrage von Milch entspricht.
Ausgabeformat:
Für jeden Eingang Li, drucken Sie die minimale Anzahl von Flaschen benötigt die Nachfrage
ich diesen Code für das Problem geschrieben haben, zu erfüllen.
#include <iostream>
#include <vector>
#include <stdio.h>
#include <set>
#include <algorithm>
#include <string>
#include <queue>
#include <map>
#include <iomanip>
#include <locale>
#include <stdlib.h>
#include <cstring>
#include <cmath>
#include <tgmath.h>
using namespace std;
const int INF = 1000000000;
int m[4] = { 1, 5, 7, 10 };
int r[100000000];
int milk(int n) {
int q;
if (r[n] < INF)
return r[n];
if (n <= 0)
q = 0;
else {
q = INF;
for (int i = 0; i < 4; i++) {
if (n >= m[i])
q = min(q, 1 + milk(n - m[i]));
}
}
r[n] = q;
return q;
}
int main() {
int t, n;
cin >> t;
while (t--) {
cin >> n;
memset(r, INF, sizeof(r));
cout << milk(n) << endl;
}
return` 0;
}
ich verwendet habe, dynamische Programmierung für this.But erhalte ich nur einen Ausgang Null für alle input.I sind hier Hilfe dp.Please.
Es klingt wie Sie müssen lernen, wie Sie einen Debugger verwenden, um durch Ihren Code zu gehen. Mit einem guten Debugger können Sie Ihr Programm Zeile für Zeile ausführen und sehen, wo es von dem, was Sie erwarten, abweicht. Dies ist ein essentielles Werkzeug, wenn Sie programmieren wollen. Weiterführende Literatur: ** [Wie kleine Programme zu debuggen] (http://ericlippert.com/2014/03/05/how-to-debug-small-programs/) ** – NathanOliver
Danke für die Hilfe. Könnten Sie bitte sagen Ich, dass, ob ich dp in einer korrekten Weise implementiert haben. @ NathanOliver –
@TahaJiruwala Es liegt an Ihnen, herauszufinden, wenn Sie Ihren Code mit dem Debugger durchlaufen. –