惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

WordPress大学
WordPress大学
大猫的无限游戏
大猫的无限游戏
酷 壳 – CoolShell
酷 壳 – CoolShell
博客园 - 叶小钗
月光博客
月光博客
Last Week in AI
Last Week in AI
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
人人都是产品经理
人人都是产品经理
阮一峰的网络日志
阮一峰的网络日志
罗磊的独立博客
IT之家
IT之家
美团技术团队
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Hugging Face - Blog
Hugging Face - Blog
博客园_首页
S
SegmentFault 最新的问题
宝玉的分享
宝玉的分享
博客园 - Franky
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Jina AI
Jina AI
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
The Cloudflare Blog
博客园 - 司徒正美
爱范儿
爱范儿

博客园 - 张瓅

puppy-language ConsolePlayer 仙剑奇侠传4主题曲 QBASIC代码 HTML5 模版调用析构函数的一个发现 编译期运算 如何测量代码执行时间 【转】老外眼中的武侠小说 1850年的宁波 关于安装 DirectX SDk Dec 2005 后无法编译DirectShow应用程序的问题 [转]VB中嵌入汇编与真正的DLL 新的连连看网络版 各种连接字符串 关于CSS属性display:none和visible:hidden的区别 Fire Net 尝试了一下Flex VFP中如何调用API函数 DES加密算法的实现 软件项目经理必备素质(转)
我用超白痴的方法解出了这道题,大家有没有更好的方法
张瓅 · 2005-11-11 · via 博客园 - 张瓅
Dick and Jane
Time limit: 1 Seconds   Memory limit: 32768K  
Total Submit: 208   Accepted Submit: 92  

Dick is 12 years old. When we say this, we mean that it is at least twelve and not yet thirteen years since Dick was born.

Dick and Jane have three pets: Spot the dog, Puff the Cat, and Yertle the Turtle. Spot was s years old when Puff was born; Puff was p years old when Yertle was born; Spot was y years old when Yertle was born. The sum of Spot's age, Puff's age, and Yertle's age equals the sum of Dick's age (d) and Jane's age (j). How old are Spot, Puff, and Yertle?

Each input line contains four non-negative integers: s, p, y, j. For each input line, print a line containing three integers: Spot's age, Puff's age, and Yertle's age. Ages are given in years, as described in the first paragraph.

Sample Input

5 5 10 9
5 5 10 10
5 5 11 10

Output for Sample Input

12 7 2
13 7 2
13 7 2

Problem Source: University of Waterloo Local Contest 1998.06.06

我用的是傻得无以复加的方法,而且差0.02s就超时了,好险!

//http://acm.zju.edu.cn/show_problem.php?pid=1110

#include
<iostream>
using namespace std;
main()
{
    
const int d=12;
    
int s,p,y,j;
    
float sa,pa,ya;

    
while(  scanf("%d%d%d%d",&s,&p,&y,&j)!=EOF)
    
{
       
for(ya=0.0;ya<=50;ya+=0.1)
        
{
            
for(pa=ya;pa<=ya+p+3;pa+=0.1)
            
{
                
for(sa=pa;sa<=ya+y+3;sa+=0.1)
                
{
                    
if ( (int(sa-pa)==s) && (int(sa-ya)==y) && (int(pa-ya)==p) && (int(sa)+int(pa)+int(ya)==d+j) )
                        
goto finish;
                }

            }

        }

finish:  
        printf(
"%.0f %.0f %.0f\n",sa,pa,ya);

    }

}


大家有更好的算法吗?