码迷,mamicode.com
首页 > 其他好文 > 详细

bzoj1024

时间:2017-08-15 13:23:45      阅读:106      评论:0      收藏:0      [点我收藏+]

标签:view   cab   max   ==   nbsp   style   close   swap   整数   

搜索

。。。大家都说这是水题。。。我没做出来。。。因为我以为分割不一定要等分

事实上每次切割都要分成当前需要块数的整数倍,比如说需要分成k块,那么肯定只能在k,2k,3k这里切,否则两边不成整数比,因为我们要把当前分成k块,所以只能这样切,然后就好做了,枚举分割点,横着竖着爆搜。

技术分享
#include<bits/stdc++.h>
using namespace std;
int n;
double size, x, y;
double dfs(double x, double y, int k)
{
    if(k == 1)
    {
        if(x < y) swap(x, y);
        return x / y;
    }
    double ret = 1e9;
    for(int i = 1; i <= k / 2; ++i)
    {
        double tmp_x = x * (double)i / (double)k;
        ret = min(ret, max(dfs(tmp_x, y, i), dfs(x - tmp_x, y, k - i)));    
    }
    for(int i = 1; i <= k / 2; ++i)
    {
        double tmp_y = y * (double)i / (double)k;
        ret = min(ret, max(dfs(x, tmp_y, i), dfs(x, y - tmp_y, k - i)));
    }
    return ret;
}
int main()
{
    scanf("%lf%lf%d", &x, &y, &n);
    printf("%.6f\n", dfs(x, y, n));
    return 0;
}
View Code

 

bzoj1024

标签:view   cab   max   ==   nbsp   style   close   swap   整数   

原文地址:http://www.cnblogs.com/19992147orz/p/7364538.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!