zoukankan      html  css  js  c++  java
  • hdu-1593 find a way to escape(贪心,数学)

    思路:两个人都要选取最优的策略。

    先求外层那个人的角速度,因为他的角速度是确定的,再求内层人的当角速度和外层人一样时的对应的圆的半径r1。外层圆的半径为d;

    那么如果r1>=外围圆的半径,那么肯定能逃脱,因为在d内层人的角速度比外层人的快,所以最多能与外层人相距半个圆周。

    如多r1<d时,在0-r1内层角速度快,所以和可在r1圆周过圆心和外层人相对,此时两人的夹角为180,那么此时内层人必须沿直线走到外层圆周上,因为如果不的话,因为角速度小于外层,所以外层的人可以缩小角间距,所以更容易被抓。最后只要判断当沿直线走的时间t1是否小于外层人走半圆的时间。小于就能逃。

     1 #include<stdio.h>
     2 #include<algorithm>
     3 #include<iostream>
     4 #include<stdlib.h>
     5 #include<string.h>
     6 #include<string.h>
     7 #include<math.h>
     8 const double N=3.141592654;
     9 typedef long long ll;
    10 int a[100005];
    11 using namespace std;
    12 int main(void)
    13 {
    14     int n,i,j,k,p,q;
    15     while(cin>>k>>p>>q)
    16     {
    17         double x1,x2,x3;
    18         x2=1.0*q/k;
    19         double r2=1.0*p/x2;//求与外层人相同角速度的同心圆半径。
    20         if(r2<1.0*k)
    21         {
    22             double c=1.0*k-r2;
    23             double t=c/p;//沿直线走的时间
    24             double t2=N*k/q;//走半圆所用的时间
    25             if(t<t2)
    26             {
    27                 cout<<"Yes"<<endl;
    28             }
    29             else cout<<"No"<<endl;
    30         }
    31         else
    32         {
    33             cout<<"Yes"<<endl;
    34         }
    35     }
    36     return 0;
    37 }
    油!油!you@
  • 相关阅读:
    在Myeclipse中移除项目对Hibernate的支持
    使用MyEclipse可视化开发Hibernate实例
    利用MyEclipse自动创建PO类、hbm文件(映射文件)、DAO
    Mtk Camera
    Linux问题,磁盘分区打不开了
    Android SDK在线更新镜像服务器大全
    TeamTalk——ubuntu服务端部署
    Nginx
    VCC/AVCC/VDD/AVDD区别
    android studio and sdk mirror for China
  • 原文地址:https://www.cnblogs.com/zzuli2sjy/p/4961901.html
Copyright © 2011-2022 走看看