zoukankan      html  css  js  c++  java
  • topcoder SRM 623 DIV2 CatAndRat

    解决本题的一个关键点就是当Cat进入时,此时Rat在哪个位置?

    注意移动方向可以随时改变,由于是圆环,故离入口最远点的距离是pi*R,即圆的一半,

    当cat进入时(cat的速度大于rat的速度,否则不可能追上)

      如果rat移动的距离小于圆环的一半,即此时rat的位置为移动最远的位置

      如果rat移动的距离大于圆环的一半,则可以在pi*R附近摇摆,当cat进入则刚好rat在pi*R即可

    之后保持与rat相同的方向即可

    #include <iostream>
    #include <algorithm>
    using namespace std;
    const double pi = acos(-1.0);
    class CatAndRat{
    public:
        double getTime(int R, int T, int Vrat, int Vcat){
            if(Vrat >= Vcat) return -1.0;
            else return min(pi*R,(double)Vrat*T)/(Vcat-Vrat);
        }
    };
  • 相关阅读:
    病毒
    最短母串
    单词
    Censoring
    玄武密码
    Keywords Search
    聚会
    异象石
    暗的连锁
    pat 1048. Find Coins (25)
  • 原文地址:https://www.cnblogs.com/xiongqiangcs/p/3771211.html
Copyright © 2011-2022 走看看