zoukankan      html  css  js  c++  java
  • bzoj1024搜索

    进度1/10mark(感觉完不成了)

    事实上我刚看到题目一下子慌了,,,我在想怎么二分一块的长宽,然后验证

    然而极其难写

    于是想有没有暴力,举一些例子模拟一下

    然后发现切割是有很明显的限制的:每次切割两边的面积一定是整数比,于是每次可以割的地方都不到10了

    那就只能暴力了

     1 #include <cstdio>
     2 #define INF 100000
     3 int x,y,n;
     4 inline double min(double a,double b){return(a<b)?a:b;}
     5 inline double max(double a,double b){return(a>b)?a:b;}
     6 double find(double x,double y,int n)
     7 {
     8     if(n==1) return(x>y)?(x/y):(y/x);
     9     double ans=INF;
    10     for(int i=1;i<=n/2;i++)
    11         ans=min(ans,min(max(find(x/n*i,y,i),find(x/n*(n-i),y,n-i)),max(find(x,y/n*i,i),find(x,y/n*(n-i),n-i))));
    12     return ans;
    13 }
    14 int main()
    15 {
    16     scanf("%d%d%d",&x,&y,&n);
    17     printf("%.6f",find(x,y,n));
    18     return 0;
    19 }
  • 相关阅读:
    模块与包的导入
    递归
    day04
    装饰器2_根据认证来源判断用户和计算登录时间
    装饰器1_统计时间函数装饰欢迎登录函数
    tail -f a.txt | grep 'python'
    函数
    内置函数1
    python模块整理
    VBS恶作剧代码
  • 原文地址:https://www.cnblogs.com/wanglichao/p/5886627.html
Copyright © 2011-2022 走看看