Trafiłem na takie zadanie:
Załóżmy, że mamy kawałek tkaniny T o rozmiarze A×B, gdzie A i B są dodatnimi liczbami całkowitymi, oraz zbiór S = {p1, p2, . . . , pn} produktów, które mogą być wykonane z tej tkaniny. Na każdy z produktów pi (gdzie i = 1, . . . , n) o końcowej cenie ci, potrzebujemy tkaniny wielkości prostokąta wymiaru ai ×bi, gdzie ai i bi są dodatnimi liczbami całkowitymi. Zakładając, że maszyna tnąca może wykonywać zawsze tylko cięcia pionowe lub poziome, rozcinając dany kawałek na dwa mniejsze prostokąty, zaproponuj algorytm oparty na programowaniu dynamicznym, który dla danego kawałka tkaniny T oraz zbioru produktów S wyznaczy optymalne —w sensie maksymalizacji sumy cen końcowych — podzielenie materiału T. (Nie jest wymagane, aby każdy z produktów znalazł się w ofercie, a dany produkt może wystąpić wiele razy.)
Mam pomysł na to ale chciałem też poznać Wasze :>