#include<stdio.h> #include<string.h> #include<stdlib.h> #include<math.h> struct F { int x; int y; int hp; }; int main(){ int x,y; double r; int l; int flag; while(scanf("%d %d",&x,&y)!=EOF){ struct F f[5]; for(int i=0;i<5;i++){ scanf("%d %d %d",&f[i].x,&f[i].y,&f[i].hp); } flag=0; scanf("%d %lf",&l,&r); for(int i=0;i<5;i++){ double dis=sqrt(pow(abs(f[i].x-x),2)+pow(abs(f[i].y-y),2)); double max=dis*1.0*r; if(dis<=l&&f[i].hp<=max){ flag=1; } for(int j=0;j<5;j++){ double now=sqrt(pow(abs(f[j].x-x),2)+pow(abs(f[j].y-y),2)); if(j!=i&&now<dis&&f[i].x*f[j].y==f[j].x*f[i].y){//挡勾 flag=0; } } } if(flag==1){ printf("Yes\n"); }else{ printf("No\n"); } } } |
Double click to view unformatted code.