HDU 1593 find a way to escape

find a way to escape

Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)

Total Submission(s): 1389    Accepted Submission(s): 508

Problem Description

一日,话说0068与***泛舟湖上。忽见岸边出现他的一大敌人elnil。0068当然不想落入elnil的魔爪,于是他就得想办法逃脱。

这个湖是一个很规则的圆形,半径为R。此时0068正好在圆心位置。小船在湖中的速度为 V1,0068和elnil在岸上的速度都为V2。也就是说,如果0068在刚上岸的时候没被抓到,则他可逃脱。在任意时刻,0068和elnil都可以朝任何方向移动,但是0068不能一直呆上船上(会饿死的),elnil不能下水(他不会游泳)。假设0068和elnil都非常聪明,总能做对自己最有利的事情,而且两个人的体力都是无限的。

请问,0068最终能不能逃脱elnil的魔爪?

Input

本题目包含多组测试。请处理到文件结束。

每组测试包含三个整数,R,V1,V2。

Output

对于每组数据,如果0068能够安全逃脱,输出Yes,否则输出No。

数据不会出现正好抓到的情况,所以你可不用太考虑临界点。

Sample Input

100 10 20
100 10 50

Sample Output

Yes
No

Author

linle

Source

HDU 2007-Spring Programming Contest - Warm Up
(1)

Recommend

8600   |   We have carefully selected several similar problems for you:  1598 1599 1594 1798 1492

开始天真的以为只要0086往敌人的对角跑再判断就行了。。然后。。结果。。很显然就WA了。。

正确思想应该是这样的:

首先,我们知道角速度等于 速度除以半径,即:w = v / r

又因为,湖的半径不会变,且岸边人总是采取最好的策略,那么他的角速度就一定是 W2 = V2 / R

而湖中人想要能逃脱的话,他肯定会采取一种策略,就是 你以湖中心转多少角度,我就也转多少角度,

也就是说,你岸边人,只要我的角速度和你的一样,你就肯定和我,还有湖中心,三个点在一条直线上,但是我只要保持这个状态,然后向前划就可以了

因为岸边人相对于湖中心的半径是R,而湖中人最开始的半径是0,所以最开始出发时,只要湖中人,把握的好,他的角速度一定可以一直等于岸边人的,

也就是说,他能让岸边人,像站在原地一样,而他自己却已经离开了湖中心。

但是我们也知道,能保持这样的状态时有个条件的,那就是湖中人的角速度要大于等于岸边人的。

这个条件的边界就是 他们两个的角速度相等。即:

W1 = W2 ==>  V1 / r = V2 / R  ==>  r =V1 * R / V2

从这里我们可以知道,当处于边界状态时,湖中人已经离开湖中心 r 的距离了。  而岸边人还是和他还有湖中心,三点成一直线,

那么,  假如R< r  那么此时他就一定能逃脱了。因为他上岸了,但是岸边人还过来不了,速度一样快的情况下,他肯定能逃。

而 假如  R> r   那么就要看 船速和人的速度了。

即:  假如在剩下的  R-r   的距离里,船划过去的时间是  (R-r )/ V1  要小于π * V2 /R 即岸边人冲到他的对岸的距离所用的时间。

那么,湖中人肯定就能逃掉。

假如大于的话,  那肯定就逃不了了。

我也不知道这题是那类题,所以归数论吧。

代码:0MS

#include <iostream>
#include <algorithm>
#include <cstdio>
#include <cstring>
using namespace std;
#define Pi 3.1415926
double Max(double v1,double v2,double R)
{
  return v1*R/v2;   //计算角速度相同时的同心圆的半径。
}
int main()
{
 double v1,v2,R;
 double r;
 while(scanf("%lf%lf%lf",&R,&v1,&v2)!=EOF)   //不要以为整型真的可以,后面还要转换,所以直接浮点型输入。
 {
     r=Max(v1,v2,R);
     double t1=(R-r)/v1;
     double t2=Pi*R/v2;
     if(t1<t2) printf("Yes\n");
     else printf("No\n");
 }
 return 0;
}

HDU 1593 find a way to escape,布布扣,bubuko.com

时间: 2024-10-10 17:07:39

HDU 1593 find a way to escape的相关文章

HDU 1593: find a way to escape

find a way to escape Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 1383    Accepted Submission(s): 504 Problem Description 一日,话说0068与***泛舟湖上.忽见岸边出现他的一大敌人elnil.0068当然不想落入elnil的魔爪,于是他就得想办法逃脱. 这

hdu 3605 Escape 二分图的多重匹配(匈牙利算法)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3605 Escape Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) Total Submission(s): 8001    Accepted Submission(s): 1758 Problem Description 2012 If this is the end of th

HDU 5389 Zero Escape(dp啊 多校啊 )

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5389 Problem Description Zero Escape, is a visual novel adventure video game directed by Kotaro Uchikoshi (you may hear about ever17?) and developed by Chunsoft. Stilwell is enjoying the first chapter of

HDU 1733 Escape(分层网络流)

HDU 1733 Escape 题目链接 题意:给定一个图,#是墙,@是出口,.可以行走,X是人,每个时间每个格子只能站一个人,问最少需要多少时间能让人全部撤离(从出口出去) 思路:网络流,把每个结点每秒当成一个结点,这样枚举时间,每多一秒就在原来的网络上直接加一层继续增广即可,注意考虑方向的时候,要考虑上原地不动 代码: #include <cstdio> #include <cstring> #include <queue> #include <algorit

HDU 3605 Escape【二分图多重匹配】

题意: 有n个人去m个星球  告诉你每个人想去哪些星球和每个星球最多容纳多少人,问能不能让所有人都满足 分析: 二分图多重匹配 代码: 1 #include <iostream> 2 #include <cstdio> 3 #include <cstring> 4 #include <vector> 5 using namespace std; 6 7 const int maxn = 100005; 8 const int maxm = 15; 9 10

HDU 3605 Escape 最大流+状压

原题链接:http://acm.hdu.edu.cn/showproblem.php?pid=3605 Escape Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 7145    Accepted Submission(s): 1553 Problem Description 2012 If this is the end of the

hdu 3605 Escape (二分图多重匹配)

Escape Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 4298    Accepted Submission(s): 1129 Problem Description 2012 If this is the end of the world how to do? I do not know how. But now scient

HDU 3605 Escape (最大流)

Escape Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) Description 2012 If this is the end of the world how to do? I do not know how. But now scientists have found that some stars, who can live, but some people do

HDU 3605 Escape(状压+最大流)

Escape Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) Total Submission(s): 9430    Accepted Submission(s): 2234 Problem Description 2012 If this is the end of the world how to do? I do not know how. But now scient