Witam nie wiem jak tego wyszukać więc zakładam temat, jeżeli coś takiego już było to proszę o jakieś nakierowanie.

Mam problem następujący:
Jest sobie Shape1 o wymiarach jakie poda użytkownik.
i teraz użytkownik podaje kolejne wymiary których jest X a po naciśnięciu przycisku 'Oblicz' program wyszukuje jak w Shape1 umieścić wszystkie te wymiary tak żeby jak najwięcej zmieściło sie na tym Shape1

Wymiary to A = wysokość , B = szerokość i takich wymiarów może być dużo (zależy od fantazji użytkownika) zaznaczam, że jeżeli nie mieszczą się wszystkie na Shape1 to program robi Shape2 o wymiarach takich jak Shape1 i na koniec podaje ilość Shape'ów oraz każdy z osobna pokazuje jak umieścił elementy (A,B)

z góry dziękuję za pomoc