View Code of Problem 32

#include<bits/stdc++.h>
using namespace std;

int main(void)
{
  int X,Y,i,j,L,x[5],y[5],flag,hp[5]={0};
  double R,dis[5]={0};
  while(cin>>X>>Y)
  {
    flag=0;
    for(i=0;i<5;++i)
    {
      cin>>x[i]>>y[i]>>hp[i];
      dis[i]=sqrt((X-x[i])*(X-x[i])+(Y-y[i])*(Y-y[i]));
    }
    cin>>L>>R;
    for(i=0;i<5;++i)
    {
      if((L>=dis[i])&&(hp[i]<=dis[i]*R))
      {
        flag=1;
        for(j=0;j<5;++j)
        {
          if((j!=i)&&((X-x[i])*(Y-y[j])==(X-x[j])*(Y-y[i]))&&(dis[i]>dis[j])&&(hp[j]>dis[j]*R))
          {flag=0;break;}
        }
      }
    }
    if(flag)
      cout<<"Yes"<<endl;
    else
      cout<<"No"<<endl;
  }
}

Double click to view unformatted code.


Back to problem 32