bzoj1024 SCOI2009 生日快樂

2022-05-18 06:16:00 字數 2034 閱讀 1799

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 #include 

12 #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()

view code

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主刀,每一切只能平行於一塊蛋糕 的一邊 任意一邊 並且必須把這塊蛋糕切成兩塊。這樣,要切成 ...