程式設計題20 包裹運輸(搜狐)

2021-09-24 16:46:12 字數 1041 閱讀 2067

工廠生產的產品包裝在相同高度h,尺寸為1 * 1,2 * 2,3 * 3,4 * 4,5 * 5,6 * 6的方形包裝中。 這些產品始終以與產品高度相同的尺寸為6 * 6的包裹交付給客戶。因為郵費很貴,所以工廠要想方設法的減小每個訂單運送時的包裹數量。他們很需要有乙個好的程式幫他們解決這個問題從而節省費用。現在這個程式由你來設計。

輸入檔案包括幾行,每一行代表乙個訂單。每個訂單裡的一行包括六個整數,中間用空格隔開,分別為 1*1 至 6*6 這六種產品的數量。輸入檔案將以 6 個 0 組成的一行結尾。
除了輸入的最後一行 6 個 0 以外,輸入檔案裡每一行對應著輸出檔案的一行,每一行輸出乙個整數代表對應的訂單所需的最小包裹數。
示例1

0 0 4 0 0 1

7 5 1 0 0 0

0 0 0 0 0 0

2

1

貪心演算法

#include int main()

, num = 0;

int i, flag = 0;

int rest_two = 0, rest_one = 0;

int three[4] = ;

while (1)

if (flag == 0)break;

flag = 0;

num = a[6] + a[5] + a[4] + (a[3] + 3) / 4;

rest_two = a[4] + three[a[3] % 4];

if (rest_two < a[2])num += (a[2] - rest_two + 8) / 9;

rest_one = num * 36 - a[6] * 6 * 6 - a[5] * 5 * 5 - a[4] * 4 * 4 - a[3] * 3 * 3 - a[2] * 2 * 2;

if (rest_one < a[1])num += (a[1] - rest_one + 35) / 36;

printf("%d\n", num);

} return 0;

}

Luogu P1542 包裹快遞

原題鏈結qwq 本題要求我們求出車的最大速度最小值。像求最大值最小 最小值最大這種型別的題目,我們很自然地就能想 到用二分答案 一般情況 來求解。做二分題目時,我們要弄清楚這樣幾點 二分什麼 如何判斷是否可行 即check函式的內容 當二分到乙個滿足條件的解時,l r 該如何移動 針對以上三個問題,...

出錯處理2 包裹函式

sem post ptr 在linux unix程式設計中當遇到乙個以大寫字母開頭的函式名時,它就是我們說的包裹函式。它呼叫乙個名字相同但是相應首字母小寫的實際函式,當碰到錯誤時,包裹函式總是輸出乙個出錯訊息後終止。為什麼要用包裹函式呢?我們不已經有了標準的errno變數來返回錯誤型別了麼?因為我們...

洛谷 P1542 包裹快遞

一看到最小的最大就能知道是二分啦 對於這道題,我們要二分的值肯定是可以知道的 行駛速度,因為求的是速度,而邊界條件就為 0 和最大的速度也就是路程總和了,對於精度,一般開在題目要求的精度上加 4 就行。cheak 函式當然就是看以這個速度行走,能否到達終點即可。注意 題目雖然是說每一次的速度可以不一...