#include <iostream> #include <math.h> using namespace std; int main(int argc, char const *argv[]) { int X,Y,x[5],y[5],hp[5],L; double R,dis[5]; bool flag; while(scanf("%d %d",&X,&Y)!=EOF){ for (int i = 0; i < 5; i++){ scanf("%d %d %d",&x[i],&y[i],&hp[i]); dis[i] = sqrt((x[i]-X)*(x[i]-X)+(y[i]-Y)*(y[i]-Y)); } scanf("%d %lf",&L,&R); flag = false; for (int i = 0; i < 5; i++) { if (L>=dis[i] && R*dis[i]>=hp[i]) { for(int j=0;j<5;j++){ if(i!=j && ((x[i]-X)*(y[j]-Y)==(x[j]-X)*(y[i]-Y)) && dis[j]<dis[i] && dis[j]*R<hp[j]){ flag = false; } else flag = true; } } if(flag) break; } if (!flag) printf("No\n"); else printf("Yes\n"); } return 0; } |
Double click to view unformatted code.