openjudge 貪心 裝箱問題

2021-08-07 03:37:17 字數 1140 閱讀 7751

乙個工廠製造的產品形狀都是長方體,它們的高度都是h,長和寬都相等,一共有六個型號,他們的長寬分別為1*1, 2*2, 3*3, 4*4, 5*5, 6*6。這些產品通常使用乙個 6*6*h 的長方體包裹包裝然後郵寄給客戶。因為郵費很貴,所以工廠要想方設法的減小每個訂單運送時的包裹數量。他們很需要有乙個好的程式幫他們解決這個問題從而節省費用。現在這個程式由你來設計。

輸入檔案包括幾行,每一行代表乙個訂單。每個訂單裡的一行包括六個整數,中間用空格隔開,分別為1*1至6*6這六種產品的數量。輸入檔案將以6個0組成的一行結尾。

除了輸入的最後一行6個0以外,輸入檔案裡每一行對應著輸出檔案的一行,每一行輸出乙個整數代表對應的訂單所需的最小包裹數。

coca=a[6]+a[5]+a[4]+ceil(a[3]/4.0);//計算6

*6,5

*5,4

*4,3

*3所需盒子數量

int c2=5

*a[4]+u[a[3]%4];//計算4

*4&&3

*3中剩下2

*2盒子的數量

if(a[2]>c2)coca+=ceil((a[2]-c2)/9.0);//

2*2需要單獨放的盒子數量

int c1=36

*(coca-a[6])-a[5]*25-a[4]*16-a[3]*9-a[2]*4;//計算前面盒子所剩1

*1面積

if(a[1]>c1)coca+=ceil((a[1]-c1)/36.0);//

1*1需要單獨放的盒子數量

printf("%d\n",coca);}}

openjudge 貪心 刪數問題

鍵盤輸入乙個高精度的正整數n,去掉其中任意k個數字後剩下的數字按原左右次序將組成乙個新的正整數。程式設計對給定的n和k,尋找一種方案使得剩下的數字組成的新數最小。輸出應包括所去掉的數字的位置和組成的新的正整數。n不超過250位 輸入資料均不需判錯。n 高精度的正整數 k 需要刪除的數字個數 最後剩下...

貪心演算法 裝箱問題

貪心演算法中必須設定乙個貪心準則 來尋求每一步的最優解,但最後往往不是問題的整體最優解。問題 假設有n個物品,其體積為v1,v2,v3,v4.v n,有若干個體積為v的箱子 理論物品的體積應該小於箱子的體積 要求把所有物品全部裝入箱子中,要求開啟的箱子數最少。分析 怎樣合理化分配才能使得開啟的箱子數...

貪心演算法(裝箱問題)

貪心演算法的基本思想是找出整體當中每個小的區域性的最優解,並且將所有的這些區域性最優解合起來形成整體上的乙個最優解。因此能夠使用貪心演算法的問題必須滿足下面的兩個性質 1.整體的最優解可以通過區域性的最優解來求出 2.乙個整體能夠被分為多個區域性,並且這些區域性都能夠求出最優解。3.區域性最優解不一...