天天看點

C - RPG

Simon最近迷上了一款RPG遊戲,現在他要從坐标(0,0)沿着y軸跑到坐标(0,100),他每秒能跑1個機關長度。

可是沿途的怪物可不會讓他這麼容易的就跑到,怪物會選擇最優路徑進行攔截,而且每個怪物跑的都比Simon快。

當怪物和Simon在同一坐标的時候,就會爆發戰鬥。但是Simon強,無敵,戰鬥一開始就可以把怪物秒了(也就是說,戰鬥是不消耗時間的)。

現在Simon想知道跑到目的地前他要和幾隻怪物戰鬥。(在目的地爆發的戰鬥也要計算在内)

Input

題目包含多組測試資料,每組測試資料第一行包含一個正整數n,表示怪物個數。

接下來n行,每行三個整數x,y,v,表示怪物目前的坐标和移動速度(機關長度/秒)。

n≤10^5,-1000<=x<=1000,-1000<=y<=1000,1<=v<=1000

Output

思路:

#include<stdio.h>
#include<math.h>
using namespace std;
#define ll long long

int main()
{
  int n;
  while(~scanf("%d",&n))
  {
    ll ans = 0;
    double m = 100.0;
    for(int i = 1; i <= n; i++)
    {
      double x,y,v;
      scanf("%lf%lf%lf",&x,&y,&v);
      if(sqrt(pow(x,2) + pow(100.0-y,2))/v <= m)
      ans++;
    }
    printf("%lld\n",ans);
  }
}