time limit: 1 sec memory limit: 162 mb
submit: 1801 solved: 1276
windy的生日到了,為了慶祝生日,他的朋友們幫他買了乙個邊長分別為 x 和 y 的矩形蛋糕。現在包括windy,一共有 n 個人來分這塊大蛋糕,要求每個人必須獲得相同面積的蛋糕。 windy主刀,每一切只能平行於一塊蛋糕的一邊(任意一邊),並且必須把這塊蛋糕切成兩塊。這樣,要切成 n 塊蛋糕,windy必須切 n-1 次。為了使得每塊蛋糕看起來漂亮,我們要求 n 塊蛋糕的長邊與短邊的比值的最大值最小。你能幫助windy求出這個比值麼?
包含三個整數,x y n。
包含乙個浮點數,保留6位小數。
5 5 5
1.800000
【資料規模和約定】
100%的資料,滿足 1 <= x,y <= 10000 ; 1 <= n <= 10 。
題意:顯然的
題解:面積一樣,但形狀不一定一樣,想通這點就簡單了。
面積可以算出來,因為最多分10塊,而且每次不是橫切就是豎切,所以對於每一塊,列舉怎麼切,再列舉每邊分多少塊,顯然可以通過列舉的塊數來算出每塊的新的長和寬,遞迴下去。
顯然,我們最多列舉n-1次,每次列舉怎麼切(2種),再列舉分多少塊,複雜度不會太高
1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #include 9 #include 10 #include 11 #includeview code12 #include 13
using
namespace
std;
14 typedef long
long
ll;15 typedef double
db;16
#define for(i, s, t) for(int i = (s); i <= (t); i++)
17#define ford(i, s, t) for(int i = (s); i >= (t); i--)
18#define rep(i, t) for(int i = (0); i < (t); i++)
19#define repn(i, t) for(int i = ((t)-1); i >= (0); i--)
20#define rep(i, x, t) for(int i = (x); i < (t); i++)
21#define mit (2147483647)
22#define inf (1000000001)
23#define mll (1000000000000000001ll)
24#define sz(x) ((int) (x).size())
25#define clr(x, y) memset(x, y, sizeof(x))
26#define puf push_front
27#define pub push_back
28#define pof pop_front
29#define pob pop_back
30#define ft first
31#define sd second
32#define mk make_pair
33 inline void setio(string
name)
3940
db n, m;
41int
k;42
43 inline void
input()
4647 inline db search(db n, db m, int
k) 58
59//
shu60 x = m/k;
61 for(i, 1, k-1
) 66
67return
ret;68}
6970 inline void
solve()
7475
intmain()
BZOJ1024 SCOI2009 生日快樂
description windy的生日到了,為了慶祝生日,他的朋友們幫他買了乙個邊長分別為 x 和 y 的矩形蛋糕。現在包括windy,一共有 n 個人來分這塊大蛋糕,要求每個人必須獲得相同面積的蛋糕。windy主刀,每一切只能平行於一塊蛋糕的一邊 任意一邊 並且必須把這塊蛋糕切成兩塊。這樣,要切...
bzoj1024 SCOI2009 生日快樂
bzoj1024 windy的生日到了,為了慶祝生日,他的朋友們幫他買了乙個邊長分別為 x 和 y 的矩形蛋糕。現在包括windy,一共有 n 個人來分這塊大蛋糕,要求每個人必須獲得相同面積的蛋糕。windy主刀,每一切只能平行於一塊蛋糕的一邊 任意一邊 並且必須把這塊蛋糕切成兩塊。這樣,要切成 n...
BZOJ1024 SCOI2009 生日快樂
傳送門 題目大意 windy的生日到了,為了慶祝生日,他的朋友們幫他買了乙個邊長分別為 x 和 y 的矩形蛋糕。現在包括windy 一共有 n 個人來分這塊大蛋糕,要求每個人必須獲得相同面積的蛋糕。windy主刀,每一切只能平行於一塊蛋糕 的一邊 任意一邊 並且必須把這塊蛋糕切成兩塊。這樣,要切成 ...