description
windy的生日到了,為了慶祝生日,他的朋友們幫他買了乙個邊長分別為 x 和 y 的矩形蛋糕。現在包括windy,一共有 n 個人來分這塊大蛋糕,要求每個人必須獲得相同面積的蛋糕。windy主刀,每一切只能平行於一塊蛋糕的一邊(任意一邊),並且必須把這塊蛋糕切成兩塊。這樣,要切成 n 塊蛋糕,windy必須切 n-1 次。為了使得每塊蛋糕看起來漂亮,我們要求 n塊蛋糕的長邊與短邊的比值的最大值最小。你能幫助windy求出這個比值麼?
input
包含三個整數,x y n。1 <= x,y <= 10000 ; 1 <= n <= 10
output
包含乙個浮點數,保留6位小數。
sample input
5 5 5
sample output1.800000
觀察資料範圍:n≤
10 n≤10
,那麼可以搜尋。
注意到這個問題是可以遞迴處理的:
定義函式:double dfs(double x, double y, int div){}
表示將長為 x ,寬為 y 的矩形等面積分成 div 份所得到的最小長寬比,則每次列舉橫切位置或縱切位置將矩形切成兩塊,遞迴處理每一塊即可,當前層的答案即所有切法的最小值。
#include
#include
using
namespace
std;
const
double inf = 1e9;
int x, y, n;
double dfs(double x, double y, int div)
return res;
}int main()
SCOI2009 生日快樂
windy的生日到了,為了慶祝生日,他的朋友們幫他買了乙個邊長分別為 x 和 y 的矩形蛋糕。現在包括windy 一共有 n 個人來分這塊大蛋糕,要求每個人必須獲得相同面積的蛋糕。windy主刀,每一切只能平行於一塊蛋糕 的一邊 任意一邊 並且必須把這塊蛋糕切成兩塊。這樣,要切成 n 塊蛋糕,win...
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 個人來分...