题目链接:hdu 4969 Just a Joke
题目大意:Guizeyanhua要去追一个女孩,女孩在以Guizeyanhua为圆心,半径为R的圆上匀速运动,女孩的速度为v1,Guizeyanhua的速度为v2,半径为R,Guizeyanhua腿疼只能跑距离D。现在Guizeyanhua要去追女孩,前提条件是女孩,Guizeyanhua,圆心必须保持共线。
解题思路:因为有三点要共线的条件,所以Guizeyanhua和女孩的线速度必须相同,所以有v1R=vxr(vx为Guizeyanhua在圆切线方向的分速度),有因为Guizeyanhua的速度确定为v2,那么有v22=v2x+v2y(vx为Guizeyanhua趋近女孩方向的分速度),联立有vy=v22−r2v21R2,又有vy=drdt,所以有dt=1vydr。对r进行积分,求出Guizeyanhua需要多少时间追上女孩,然后用时间t乘上v2即为Guizeyanhua走过的距离。
积分的部分用三角换元,原函数为y=arcsin(Rrv1)
#include <cstdio>
#include <cstring>
#include <cmath>
#include <algorithm>
using namespace std;
int main () {
int cas;
double v1, v2, r, d;
scanf("%d", &cas);
while (cas--) {
scanf("%lf%lf%lf%lf", &v1, &v2, &r, &d);
double t = r / v1 * asin(v1 / v2);
double l = t * v2;
printf("%s\n", l > d ? "Why give up treatment" : "Wake up to code");
}
return 0;
}
分享到:
相关推荐
现在,给你两个正的小数A和B,你的任务是代表大明计算出A+B的值。 Input 本题目包含多组测试数据,请处理到文件结束。 每一组测试数据在一行里面包含两个长度不大于400的正小数A和B。 Output 请在一行里面...
HDU的1250,主要是利用高精度加法,但是代码有点繁琐,效率不是很高
杭电ACMhdu1163
HDU1059的代码
hdu1001解题报告
hdu 1574 passed sorce
HDU的一题........HDU DP动态规
hdu2101AC代码
hdu acm 教案 搜索入门 hdu acm 教案 搜索入门
搜索 dfs 解题代码 hdu1241
hdu 5007 Post Robot 字符串枚举。 暴力一下就可以了。
hdu acm 教案 动态规划(1) hdu acm 教案 动态规划(1)
hdu_2102_passed_sorce
hdu 1166线段树代码
自己做的HDU ACM已经AC的题目
HDU最全ac代码
ACM HDU题目分类,我自己总结的大概只有十来个吧
hdu动态规划算法集锦
acm hdu as easy as a+b