冠君
一直在努力

http://acm.nyist.net/JudgeOnline/problem.php?pid=97

描述
兄弟俩骑车郊游,弟弟先出发,每分钟X米,M分钟后,哥哥带一条狗出发。以每分钟Y米的速度去追弟弟,而狗则以每分钟Z米的速度向弟弟跑去,追上弟弟后又立即返回,直到哥哥追上弟弟时,狗跑了多少米?
输入

        第一行输入一个整数N,表示测试数据的组数(N<100)
每组测试数据占一行,是四个正整数,分别为M,X,Y,Z(数据保证X<Y<Z)

输出

       输出狗跑的路径,结果保留小数点后两位。

解题思路:

      要求狗跑的路径,猛一看时或许会没有思路。但结合路径公式:s=v*t ,我们会发现狗的速度v已经知道,要求s,我们只需知道所用时间t即可。

到这一步问题就简单清晰了。我们发现,M分钟后,兄弟二人和狗行走的时间是一样的 !

哥哥追上弟弟时,路径差为X*M。因此有X*M=Y*t-X*t。问题得解。

需要注意的是:

     1、时间有可能会是小数,求解时要转化,简单乘以1.0即可。

    2、注意输出格式,保留两位小数。

#include<stdio.h>
int main()
{
    int N;
    int M,X,Y,Z;
    scanf("%d",&N);
    double len;
    while(N--){
        scanf("%d%d%d%d",&M,&X,&Y,&Z);
        len=1.0*X*M*Z/(Y-X);
        printf("%.2lf\n",len);
    }
    return 0;
}
posted on 2011-06-11 12:42  冠君———直在努力  阅读(249)  评论(0编辑  收藏  举报