windy的生日到了,為了慶祝生日,他的朋友們幫他買了乙個邊長分別為 \(x\)和 \(y\) 的矩形蛋糕。現在包括windy,一共有\(n\)個人來分這塊大蛋糕,要求每個人必須獲得相同面積的蛋糕。windy主刀,每一切只能平行於一塊蛋糕的一邊(任意一邊),並且必須把這塊蛋糕切成兩塊。這樣,要切成 \(n\) 塊蛋糕,windy必須切 \(n-1\) 次。為了使得每塊蛋糕看起來漂亮,我們要求 \(n\)塊蛋糕的長邊與短邊的比值的最大值最小。你能幫助windy求出這個比值麼?
$1 \leqslant x,y \leqslant 10000 $; \(1 \leqslant n \leqslant 10\)
有1024這個題號和scoi的雙保險這道題一定是良心題。
注意到\(n\)很小,大爆搜即可。
之前嘗試把main壓到一行去,結果壓爆了。
#include#include#include#includeusing namespace std;
#define rep(ii, aa, bb) for (int ii = aa; ii <= bb; ii++)
double dfs(double x, double y, int cnt)
double xba = x / cnt, yba = y / cnt, ans = 10000.0;
rep(i, 1, cnt - 1) ans = min(ans, max(dfs(xba * i, y, i), dfs(x - xba * i, y, cnt - i)));
rep(i, 1, cnt - 1) ans = min(ans, max(dfs(x, yba * i, i), dfs(x, y - yba * i, cnt - i)));
return ans;
}int main()
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主刀,每一切只能平行於一塊蛋糕 的一邊 任意一邊 並且必須把這塊蛋糕切成兩塊。這樣,要切成 ...