http://acm.nyist.net/JudgeOnline/problem.php?pid=97
- 输入
第一行输入一个整数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; }