SCOI2009 生日快樂

2022-05-10 22:21:52 字數 844 閱讀 9953

windy的生日到了,為了慶祝生日,他的朋友們幫他買了乙個邊長分別為 x 和 y 的矩形蛋糕。現在包括windy

,一共有 n 個人來分這塊大蛋糕,要求每個人必須獲得相同面積的蛋糕。windy主刀,每一切只能平行於一塊蛋糕

的一邊(任意一邊),並且必須把這塊蛋糕切成兩塊。這樣,要切成 n 塊蛋糕,windy必須切 n-1 次。為了使得

每塊蛋糕看起來漂亮,我們要求 n塊蛋糕的長邊與短邊的比值的最大值最小。你能幫助windy求出這個比值麼?

包含三個整數,x y n。1 <= x,y <= 10000 ; 1 <= n <= 10

包含乙個浮點數,保留6位小數。

5 5 5

1.800000

先要把矩形分成n塊,切n-1次

那先把矩形縱向(橫向)均等分成n塊

把它縱向(橫向)按比例切一刀分成兩個部分

假設第一部分佔了i塊,另乙個佔n-i塊,即面積比為i:n-i

那麼問題就遞迴轉化成了把第乙個矩形再切i-1刀,分成i塊

第二個再切n-i-1刀,分成n-i塊

這樣最後切出的n個矩形面積肯定相同

每次在切出的2個矩形的最大比例中取最大值,看是否小於當前答案

橫切和縱切一樣,可以列舉i一起算

1 #include2 #include3 #include4 #include5 #include6

using

namespace

std;

7double dfs(double x,double y,doublek)8

17return

ans;18}

19int

main()

20

SCOI2009 生日快樂(搜尋)

description windy的生日到了,為了慶祝生日,他的朋友們幫他買了乙個邊長分別為 x 和 y 的矩形蛋糕。現在包括windy,一共有 n 個人來分這塊大蛋糕,要求每個人必須獲得相同面積的蛋糕。windy主刀,每一切只能平行於一塊蛋糕的一邊 任意一邊 並且必須把這塊蛋糕切成兩塊。這樣,要切...

1024 SCOI2009 生日快樂

windy的生日到了,為了慶祝生日,他的朋友們幫他買了乙個邊長分別為 x 和 y 的矩形蛋糕。現在包括windy,一共有 n 個人來分這塊大蛋糕,要求每個人必須獲得相同面積的蛋糕。windy主刀,每一切只能平行於一塊蛋糕的一邊 任意一邊 並且必須把這塊蛋糕切成兩塊。這樣,要切成 n 塊蛋糕,wind...

1024 SCOI2009 生日快樂

time limit 1 sec memory limit 162 mb submit 3217 solved 2346 submit status discuss windy的生日到了,為了慶祝生日,他的朋友們幫他買了乙個邊長分別為 x 和 y 的矩形蛋糕。現在包括windy 一共有 n 個人來分...