Задачка с расстановкой прямоугольников?
На сколько в итоге я понял у вас есть размер окна и размер n одинакового размера картинок.
Требует разместить их в окне, таким способом, чтобы картинки покрыли максимальную площадь окна.

Если я все правильно понял, то это и действительно является двумерной задачей об упаковке.
Рекомендую почитать:
раз
два
три
книжка

Желаю успехов :)
Спасибо всем кто откликнулся! 

Я знаю чего я хочу :) может просто объясняю как-то не правильно :)

Уточняю. Есть прямоугольник (окно программы) у него будет меняться ширина и высота динамически (все зависит от пользователя), его нужно заполнить равными прямоугольниками (картинками), которых может быть разное кол-во, задаваемое также динамически. Так вот нужно определить в зависимости от размеров исходного окна (600х150 px к примеру) размер картинки (200х150 px к примеру) если картинок было 3-и и расположить картинки горизонтально. Другое условие: окно размером 150х600 px, размер картинок определить как 150х200 px и расположить картинки вертикально. И третье возможное условие все для тех же 3-х картинок, когда окно размером 600х600 px? то размер картинок должен быть определен как 300х300 px и они будут расположены в два столбца и в две строки. Вот примерно так :)