Problem sumy

0

Witam,
uczę się algorytmów ze strony kompendium.meetit.pl
w programowaniu dynamicznym jest taki kod:

bool DP[MAXW + 1];
for (int i=1; i<=w; ++i) DP[i] = 0;
  DP[0] = 1;
for (int i=1; i<=n; ++i) {
  int k = a[i];
  for (int j=0; j<=w-k; ++j)
    if (DP[j] == 1)
      DP[j + k] = 1;
}

w poradniku jest napisane, że jest w nim błąd i należy go znaleźć
wiem co powoduje ten błąd (nie sprawdza, czy suma została utworzona przy użyciu liczby k), wiem jak to naprawić, ale potrzebowałbym do tego dodatkowej tablicy, jak naprawić ten błąd najkrócej?

0

dobra jednak naprawiłem, w pętli z j zmieniłem na for(j=w-k;j>=0;j--)

1

Na przyszłość: prościej byłoby jednak gdybyś umieścił treść zadania a nie tylko goły kod. Problem sumy to nie jest żadna ogólnoprzyjęta nazwa konkretnego problemu.

1 użytkowników online, w tym zalogowanych: 0, gości: 1