1755. Cake

Time limit: 0.5 second
Memory limit: 64 MB
Karlsson and Little Boy have found a cake in the fridge. It is written on the box that the cake consists of n grams of cream, m grams of chocolate, and other ingredients. The friends want to divide the cake between them and eat it right there.
Little Boy is going to cut the cake into two pieces, and then Karlsson will choose the piece that he thinks is more delicious. Little Boy agrees with this method of dividing, because his and Karlsson's tastes differ and so he can cut the cake in such a way that he would get a piece that is not so bad. In addition, Karlsson is so kind that if the two pieces seem equally delicious to him then he will let Little Boy choose.
If a piece of cake contains x grams of cream and y grams of chocolate, then Little Boy evaluates the deliciousness of this cake by the number ax + by. Karlsson evaluates the same piece by the numberax + by. Given the coefficients a1, b1, a2, b2, tell Little Boy how to cut the cake so that he would get as delicious piece of cake as possible. Little Boy can cut off a piece containing any amount of cream and any amount of chocolate but, of course, no more than there is in the whole cake.

Input

The first line contains the integers a1, b1, a2, b2 (0 ≤ aibi ≤ 100). The second line contains the integers nand m (0 ≤ nm ≤ 1000).

Output

Output the mass of cream and the mass of chocolate in one of the pieces into which Little Boy should cut the cake accurate to 10−8. It does not matter who will get this piece. If there are several optimal answers, output any of them.

Sample

input output
1 2 3 2
400 300
300.00000000 0.00000000
Problem Author: Vladislav Isenbaev
Problem Source: XI USU Open Personal Contest (March 13, 2010)
Tags: none  (hide tags for unsolved problems题目大意:有块蛋糕,蛋糕有n奶油m巧克力。Karlsson 和Little Boy要分这块蛋糕为二,Karlsson对蛋糕的美味度为a1x+b1y、Little Boy对蛋糕的美味度为a2x+b2y两人都想取自己认为最美味的那块蛋糕。Little Boy负责切蛋糕,Karlsson先选自己喜欢的那块。假设蛋糕的巧克力和奶油可以任意分配,问Karlsson 如何切蛋糕能保证自己拿到的美味度尽可能高。
 
思路:因为a1,b1,a2,b2均为正数,所以分得的蛋糕越大,美味度越高。则两块蛋糕在Karlsson面前,Karlsson认为的美味度都是一样时\[T=\frac{a1*n+a2*m}{2}\]
可以保证Little Boy能有机会取的自己认为美味度最大的蛋糕。然后要使Karlsson分得的美味度最大,如果Karlsson更喜欢巧克力那就巧克力多分点,反之亦然。从\[\left ( \frac{T}{2a_{2}},0\right),\left ( 0,\frac{T}{2b_{2}}\right),\left ( \frac{T-b_{2}m}{a_{2}},m\right),\left ( n,\frac{T-a_{2}n}{b_{2}}\right)\]取最优解即可
 
 
#include<iostream>
#include<cstdio>
using namespace std;
int main(){
double ans = ;
double a1,b1,a2,b2;
double n,m,T;
cin>>a1>>b1>>a2>>b2;
cin>>n>>m;
T = (n*a2+m*b2)/2.0;
double x1;
double x2;
double y1;
double y2;
x1 = T/a2;
y1 = T/b2;
x2 = (T-b2*m)/a2;
y2 = (T-a2*n)/b2;
double x = ,y = ;
if(x1 >= && x1 <= n){
if(x1*a1>=ans){
ans = x1*a1;
x = x1,y=;
}
}else if(y1 >= && y1 <=m){
if(y1*b1>=ans){
ans = y1*b1;
x = , y = y1;
}
}else if(x2 >= && x2 <= n){
if(x2*a1 + m*b1 >=ans){
ans = x2*a1 + m*b1;
x = x2,y=m;
}
}else if(y2 >= && y2 <= m){
if(n*a1 + y2*m >= ans){
ans = n*a1+y2*m;
x = n,y=y2;
}
}
printf("%.8f %.8f\n",x,y);
return ;
}

Cake URAL - 1755的更多相关文章

  1. Windows 7上执行Cake 报错原因是Powershell 版本问题

    在Windows 7 SP1 电脑上执行Cake的的例子 http://cakebuild.net/docs/tutorials/getting-started ,运行./Build.ps1 报下面的 ...

  2. 2015暑假多校联合---Cake(深搜)

    题目链接:HDU 5355 http://acm.split.hdu.edu.cn/showproblem.php?pid=5355 Problem Description There are m s ...

  3. Scalaz(15)- Monad:依赖注入-Reader besides Cake

    我们可以用Monad Reader来实现依赖注入(dependency injection DI or IOC)功能.Scala界中比较常用的不附加任何Framework的依赖注入方式可以说是Cake ...

  4. uva10167 Birthday Cake

    Lucy and Lily are twins. Today is their birthday. Mother buys a birthday cake for them. Now we put t ...

  5. 后缀数组 POJ 3974 Palindrome && URAL 1297 Palindrome

    题目链接 题意:求给定的字符串的最长回文子串 分析:做法是构造一个新的字符串是原字符串+反转后的原字符串(这样方便求两边回文的后缀的最长前缀),即newS = S + '$' + revS,枚举回文串 ...

  6. ural 2071. Juice Cocktails

    2071. Juice Cocktails Time limit: 1.0 secondMemory limit: 64 MB Once n Denchiks come to the bar and ...

  7. ural 2073. Log Files

    2073. Log Files Time limit: 1.0 secondMemory limit: 64 MB Nikolay has decided to become the best pro ...

  8. ural 2070. Interesting Numbers

    2070. Interesting Numbers Time limit: 2.0 secondMemory limit: 64 MB Nikolay and Asya investigate int ...

  9. ural 2069. Hard Rock

    2069. Hard Rock Time limit: 1.0 secondMemory limit: 64 MB Ilya is a frontman of the most famous rock ...

随机推荐

  1. 华硕X450j清灰教程

    近期本人电脑咳嗽,电脑发烧,风扇呼呼的吹(电脑风扇好像出了问题),去了电脑上商城买了一支止咳糖浆(HEATSINK COMPOUNDS)硅脂, 废话不多说了 1 ,当然要把电脑关了,卸下三排螺丝,然后 ...

  2. 【SpringCloud】Eureka入门与原理

    为了开发效率高效和业务逻辑清晰,越来越多的项目采用分布式系统.分布式最重要的就是注册中心了.Eureka是SpringCloud原生提供的注册中心,来look一波吧. 超光速入门 服务端 引入依赖: ...

  3. Spatial crowdsourcing

    空间众包(Spatial crowdsourcing)分类 空间众包是将一组空间任务众包给一组工作人员的过程,这要求工作人员实际位于该位置以执行相应的任务. 空间众包可以根据员工的动机分为两类:基于奖 ...

  4. 吴裕雄--天生自然python学习笔记:python实现自动网页测试

    Python 可实现的网页测试的功能十分强大,甚至能通 过编程来实现让绝大多数的测试过程自动化. 这对很多开 发者来说,绝对是不可多得的神器. hash lib 纽件可以判别文件是否有过更改,只需要用 ...

  5. tomcat6版本虚拟目录详细配置

    在tomcat6版本中: 一. 1.[官方文档]本人不推荐. 在tomcat\conf下server.xml中找到 <Host name="localhost"  appBa ...

  6. Shell的特殊字符

    # 有意义的“#”符合 echo ${PATH#*:} # 参数替换,不是一个注释 echo $(( 2#101011 )) # 进制转换,可以是任意进制,不是一个注释 “.” .字符匹配,这是作为正 ...

  7. 6.8.5 使用Lambda表达式调用Arrays的类方法

    6.8.5 使用Lambda表达式调用Arrays的类方法 实例 Arrays类的有些方法需要Comparator. XxxOperator.XxxFunction等接口的实例,这些接口都是函数式接口 ...

  8. python IO多路复用版FTP

    需求: 实现文件上传及下载功能 支持多连接并发传文件 使用select or selectors

  9. Mongdb创建 连接过程

    在bin目录下启动后 Show dbs 显示库,库里有内容才会显示库名称 Use admin 切换库 没有的默认创建 show users显示用户信息 Show collections显示表名 db. ...

  10. flutter 白板工具Twitter IconFacebook Icon

    flutter 白板工具 Categories: flutter 平常桌面上都放着一些草稿纸,因为经常要整理思路.画画草图啥的.这不是电子时代嘛,就觉得在手机.pad上也可以这样写写画画,我看了有很多 ...