有n條繩子,它們的長度分別為li。如果從它們中切割出k條長度相同的
繩子,這k條繩子每條最長能有多長?答案保留到小數點後2位(直接捨掉2為後的小數)。
第一行兩個整數n和k,接下來n行,描述了每條繩子的長度li。
切割後每條繩子的最大長度。
輸入 #1
4 11
8.02
7.43
4.57
5.39
輸出 #1
2.00
這題目就是常規的二分,但是我們要考慮繩子長度不可以四捨五入,因為繩子只可以短,不可以長,就像你有99塊錢,你就不可以去買100塊錢的東西。
#define _crt_secure_no_warnings
#include
#include
#include
#include
#include
#include
#define esp 1e-4
#define size 10000+10
char s[
100]
;using
namespace std;
double a[size]
;int n, k;
bool
check
(double len)
return sum >= k;
}int
main()
double l =0;
double r =
100000
;while
(r - l > esp)
//這裡要做處理,不四捨五入,直接用字串擷取
sprintf
(s +1,
"%.3f"
, l)
; s[
strlen
(s +1)
]='\0'
;printf
("%s"
, s +1)
;return0;
}
洛谷 P1577 切繩子 二分
題目描述 有n條繩子,它們的長度分別為li。如果從它們中切割出k條長度相同的 繩子,這k條繩子每條最長能有多長?答案保留到小數點後2位。輸入輸出格式 輸入格式 第一行兩個整數n和k,接下來n行,描述了每條繩子的長度li。輸出格式 切割後每條繩子的最大長度。輸入輸出樣例 輸入樣例 1 4 11 8.0...
洛谷 P1577 切繩子
原題 有n條繩子,它們的長度分別為li。如果從它們中切割出k條長度相同的繩子,這k條繩子每條最長能有多長?答案保留到小數點後2位。輸入輸出格式 輸入格式 第一行兩個整數n和k,接下來n行,描述了每條繩子的長度li。輸出格式 切割後每條繩子的最大長度。輸入輸出樣例 輸入樣例 1 複製 4 11 8.0...
洛谷 P1577 切繩子
網線主管。我一直奇怪為什麼洛谷沒有網線主管,原來是有人抄得一模一樣。在洛谷上ac可以去交一下 不用改 首先看到這資料範圍,然後又是求最優解,首先就要考慮下貪心行不行 我嫌浮點數乘除麻煩,就讀入時乘上100,中間二分時r的範圍也要乘上100,最後輸出時除以100 因為c 自帶整除 偏向0取整,你可以試...