(切割繩子)有 n 條繩子,每條繩子的長度已知且均為正整數。繩子可以以任意正整數長度切割,但不可以連線。現在要從這些繩子中切割出 m 條長度相同的繩段,求繩段的最大長度是多少。
輸入:第一行是乙個不超過 100 的正整數 n,第二行是 n 個不超過 106 的正整數,表示每條繩子的長度,第三行是乙個不超過 108 的正整數 m。
輸出:繩段的最大長度,若無法切割,輸出 failed。
二分法。
#include
using namespace std;
int n, m, i, lbound, ubound, mid, count;
int len[
100]
;// 繩子長度
intmain()
cin >> m;
if(countlbound =1;
ubound =
1000000
;while
( lboundcout << lbound << endl;
return0;
}
牛客 剪繩子(66題)
本題主要考察的思想是 貪心或者動態規劃,這兩種演算法思想感覺還是比較相似的,但是這一類的題主要是找到規律吧 題目描述 給你一根長度為n的繩子,請把繩子剪成整數長的m段 m n都是整數,n 1並且m 1 每段繩子的長度記為k 0 k 1 k m 請問k 0 xk 1 x xk m 可能的最大乘積是多少...
牛客剪繩子(暴力列舉)
首先假設繩子為 2 那麼最大乘積為 1 2 繩子為 3 乘積最大 1 3 當繩子長為4開始發現規律 4 2 2 5 2 3 6 3 3 7 2 2 3 8 2 3 3 9 3 3 10 2 2 3 3 11 2 3 3 3 12 3 3 3 3 以此類推我們可以看出 最大值都是有2和3組成的,那怎麼...
繩子切割 二分查詢
題目描述 有n條繩子,它們的長度為li li 1000 如果從它們中切割出k條長度相同的繩子的話,這條繩子每條最長能有多長?答案保留到小數點後2位。輸入輸入包含兩行,第一行有兩個整數n和k,n代表n條繩子,k代表切割出的長度。4 11 8 02 7.43 4.57 5.39 輸出輸出能切割出最長的長...