• BZOJ 1023 [SCOI2009]生日快乐


    1024: [SCOI2009]生日快乐

    Time Limit: 1 Sec  Memory Limit: 162 MB
    Submit: 1729  Solved: 1219
    [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 5

    Sample Output

    1.800000

    HINT

    【数据规模和约定】 

    100%的数据,满足 1 <= X,Y <= 10000 ; 1 <= N <= 10 。

    Source

    题解:刚从病痛中挣扎出来就碰上这种题,心情大好呀~

    窝萌看到面积要相等,那么每次切完的面积必然是1/n的整数倍吧?那么爆搜好了。

     1 #include<iostream>
     2 #include<cstdio>
     3 #include<cmath>
     4 #include<algorithm>
     5 #include<queue>
     6 #include<cstring>
     7 #define PAU putchar(' ')
     8 #define ENT putchar('
    ')
     9 using namespace std;
    10 double dfs(double x,double y,int n){
    11     double ans=10001.0;
    12     if(x<y)swap(x,y);if(n==1)return x/y;
    13     for(int i=1;i<n;i++){
    14         ans=min(ans,max(dfs(x/n*i,y,i),dfs(x/n*(n-i),y,n-i)));
    15         ans=min(ans,max(dfs(y/n*i,x,i),dfs(y/n*(n-i),x,n-i)));
    16     }return ans;
    17 }
    18 inline int read(){
    19     int x=0,sig=1;char ch=getchar();
    20     while(!isdigit(ch)){if(ch=='-')sig=-1;ch=getchar();}
    21     while(isdigit(ch))x=10*x+ch-'0',ch=getchar();
    22     return x*=sig;
    23 }
    24 inline void write(int x){
    25     if(x==0){putchar('0');return;}if(x<0)putchar('-'),x=-x;
    26     int len=0,buf[15];while(x)buf[len++]=x%10,x/=10;
    27     for(int i=len-1;i>=0;i--)putchar(buf[i]+'0');return;
    28 }
    29 double x,y;int n;
    30 void init(){
    31     x=read();y=read();n=read();
    32     printf("%.6lf",dfs(x,y,n));
    33     return;
    34 }
    35 void work(){
    36     return;
    37 }
    38 void print(){
    39     return;
    40 }
    41 int main(){init();work();print();return 0;}
  • 相关阅读:
    Mysql初探:内存数据刷盘机制
    数据管理流程,基础入门简介
    数据分析:复杂业务场景下,量化评估流程
    架构设计:服务自动化部署和管理流程
    Hadoop框架:MapReduce基本原理和入门案例
    架构设计:微服务模式下,实现灰度发布模式
    架构设计:分布式结构下,服务部署发布
    编码风格:Mvc模式下SSM环境,代码分层管理
    开发工具:Mybatis.Plus.插件三种方式的逆向工程
    Hadoop框架:HDFS高可用环境配置
  • 原文地址:https://www.cnblogs.com/chxer/p/4658861.html
Copyright © 2020-2023  润新知