19 裝箱問題(4 6演算法之貪心)

2021-08-08 01:16:46 字數 877 閱讀 3435

總時間限制: 1000ms 記憶體限制: 65536kb

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

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

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

樣例輸入

0 0 4 0 0 1

7 5 1 0 0 0

0 0 0 0 0 0

樣例輸出

2 1

#include

using namespace std;

////書上面的解法,真的超級簡潔

int n,a,b,c,d,e,f,x,y;

int u=;

//n個包裹,x是剩餘的2

*2的位置,y是剩餘的1

*1的位置

//u是3

*3對4取餘後開啟新箱子需要的2

*2的個數

int main()

y=36

*n-36

*f-25

*e-16

*d-9

*c-4

*b; if(a>y)

cout<}

}

貪心演算法之裝箱問題

貪心準則 1.貪心準則設計演算法過程的每一步都是最優解 2.貪心準則一旦被設計,中途不可改變 裝箱問題 問題描述 1.有若干個體積為v的箱子 2.有n個物品,體積分別為 v1,v2,v3 要求 將所有物品都裝入箱子中,使箱子盡可能的少 貪心準則 1.將所有物品按照體積降序排列 2.每次取出乙個物品 ...

貪心演算法 裝箱問題

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

貪心演算法(裝箱問題)

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