#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,dis1,dis2; 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]); scanf("%d %lf",&L,&R); flag = false; for (int i = 0; i < 5; i++) { dis1 = sqrt((x[i]-X)*(x[i]-X)+(y[i]-Y)*(y[i]-Y)); if (L>=dis1&&R*dis1>=hp[i]) { for(int j=0;j<5;j++){ dis2 =sqrt((x[j]-X)*(x[j]-X)+(y[j]-Y)*(y[j]-Y)); if(i!=j&&((x[i]-X)*(y[j]-Y)==(x[j]-X)*(y[i]-Y))&&dis2<dis1&&dis2*R<hp[j]){ flag=0; } else flag=1; } } if(flag) break; } if (!flag) printf("No\n"); else printf("Yes\n"); } return 0; } |
Double click to view unformatted code.