1. 該工具會按照圖片順序,在寬度 M 以內(nèi),將盡可能多的圖片排在一行。該行的高度是行內(nèi)最高的圖片的高度。例如在 M=10 的紙張上依次打印 3x4, 2x2, 3x3 三張圖片,則效果如下圖所示,這一行高度為4。(分割線以上為列標(biāo)尺,分割線以下為排版區(qū)域;數(shù)字組成的矩形為第x張圖片占用的版面)
2. 如果當(dāng)前行剩余寬度大于0,并且小于下一張圖片,則下一張圖片會按比例縮放到寬度為當(dāng)前行剩余寬度(高度向上取整),然后放入當(dāng)前行。例如再放入一張4x9的圖片,由于剩余寬度是2,這張圖片會被壓縮到2x5,再被放入第一行的末尾。此時該行高度為5:
3. 如果當(dāng)前行剩余寬度為0,該工具會從下一行開始繼續(xù)對剩余的圖片進行排版,直到所有圖片都處理完畢。此時所有行的總高度和就是這 N 張圖片的排版高度。例如再放入11x1, 5x5, 3x4 的圖片后,效果如下圖所示,總高度為11:
現(xiàn)在由于排版高度過高,圖片的先后順序也不能改變,小明只好從 N 張圖片中選擇一張刪除掉以降低總高度。他希望剩余N-1張圖片按原順序的排版高度最低,你能求出最低高度是多少么?
4 3 2 2 2 3 2 2
2