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. F5 BIG-IP之二LTM术语

    Node : Pool:中有设置负载均衡方式 Virtual Server :监听客户端请求的 根据 IP 和 端口号 Profile: VS 调用 Profile

  2. JVM 的内存布局

    这是jdk7以后的版本 1. Heap(堆区) Heap OOM 障最主要的发源地, 它存储着几乎所有的实例对象, 堆由垃圾收集器自动回收, 堆区由各子线程共享使用.通常情况下 它占用的空间是所有内存 ...

  3. AngularJS中格式化日期为指定格式字符串

    var date = $filter('date')(new Date(),'MM/dd/yyyy');

  4. [LC] 303. Range Sum Query - Immutable

    Given an integer array nums, find the sum of the elements between indices i and j (i ≤ j), inclusive ...

  5. Halcon算子函数

    Chapter_1_:Classification 1.1  Gaussian-Mixture-Models 1.add_sample_class_gmm 功能:把一個訓練樣本添加到一個高斯混合模型的 ...

  6. Data Binding on Android

    Data Binbing框架是在2015年Google I/O大会上最早提出来的,一直在Android开发者中热议,但是很少有真正在项目中用到.本文简单介绍Data Binding框架的简单用法以及其 ...

  7. 微信小游戏排行榜页滚动查看排行榜(canvas指定区域溢出滚动,懒渲染)

    在微信小游戏中,好友排名数据是能在关系数据域操作,整个关系数据域只会返回一个最终的sharedCanvas,并且这个canvas不能调用toDataURL()方法,所以要展示好友排行榜的话只能在关系数 ...

  8. 分布式事物-2pc和3pc区别

    参考地址: https://www.cnblogs.com/bangerlee/p/5268485.html, 感谢原作者 http://blog.51cto.com/11821908/2058651 ...

  9. 《软件自动化测试开发-Java和Python测试开发实用指南》出版了

    1.关于书中下载链接的问题:出现404,页面不存在 解答:大小写要区分,l和1不能弄错了 2.关于勘误,出现极个别漏子少字错字 解答:后续版本会改进,目前能理解就好了 ---------------- ...

  10. c++入门资源

    http://www.cnblogs.com/jackyyang7/articles/2479482.htmlvs2010编译器的使用 https://www.cnblogs.com/me115/ar ...