【SCOI 2009】生日快乐
生活随笔
收集整理的這篇文章主要介紹了
【SCOI 2009】生日快乐
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1024: [SCOI2009]生日快樂
Time Limit: 1 Sec??Memory Limit: 162 MBSubmit: 192??Solved: 135
[Submit][Status][Discuss]
Description
windy的生日到了,為了慶祝生日,他的朋友們幫他買了一個邊長分別為 X 和 Y 的矩形蛋糕。 現在包括windy,一共有 N 個人來分這塊大蛋糕,要求每個人必須獲得相同面積的蛋糕。 windy主刀,每一切只能平行于一塊蛋糕的一邊(任意一邊),并且必須把這塊蛋糕切成兩塊。 這樣,要切成 N 塊蛋糕,windy必須切 N-1 次。 為了使得每塊蛋糕看起來漂亮,我們要求 N 塊蛋糕的長邊與短邊的比值的最大值最小。 你能幫助windy求出這個比值么?Input
包含三個整數,X Y N。Output
包含一個浮點數,保留6位小數。Sample Input
5 5 5Sample Output
1.800000HINT
【數據規模和約定】
100%的數據,滿足 1 <= X,Y <= 10000 ; 1 <= N <= 10 。
N<=10,這么弱的數據,想暴力之~但是考慮到AC率,還是參見一下神牛題解……發現神牛們跟我一樣暴力= =
/**************************************************************Problem: 1024User: DelostikLanguage: PascalResult: AcceptedTime:360 msMemory:244 kb ****************************************************************/program SCOI_2009_HappyBirthday; var x,y:extended;n:longint;procedure swap(var a,b:extended); var t:extended; begint:=a;a:=b;b:=t; end;function max(a,b:extended):extended; beginif a>b then exit(a);exit(b); end;function min(a,b:extended):extended; beginif a<b then exit(a);exit(b); end;function dfs(x,y:extended;n:longint):extended; var r:extended;i:longint; begindfs:=maxlongint;if x>y then swap(x,y);if n=1 then exit(y/x);r:=1/n;for i:=1 to n-1 dobegindfs:=min(dfs,max(dfs(x*r*i,y,i),dfs(x-x*r*i,y,n-i)));dfs:=min(dfs,max(dfs(x,y*r*i,i),dfs(x,y-y*r*i,n-i)));end; end; beginreadln(x,y,n);writeln(dfs(x,y,n):0:6);readln;readln; end.
轉載于:https://www.cnblogs.com/Delostik/archive/2011/04/13/2014573.html
總結
以上是生活随笔為你收集整理的【SCOI 2009】生日快乐的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C# access update 出错总
- 下一篇: 翟山恩华七宝堂药店在哪