#include<iostream> #include<cmath> #include<cstring> using namespace std; int main() { int x,y; int a[5],b[5],c[5]; double s[5]; while(scanf("%d %d",&x,&y)!=EOF){ memset(a,0,5); memset(b,0,5); memset(c,0,5); for(int i=0;i<5;i++){ cin>>a[i]>>b[i]>>c[i]; s[i]=sqrt((a[i]-x)*(a[i]-x)+(b[i]-y)*(b[i]-y)); //s:距离 } int l=0; double r=0; cin>>l>>r; int flag=0; int flag1=0; for(int i=0;i<5;i++){ //判断 if(s[i]<l&&s[i]*r>c[i]){ //血量、距离都满足 for(int j=0;j<5;j++){ if(i!=j&&s[j]<s[i]&&a[i]*b[j]==b[i]*a[j]){ //有人挡路 flag1=1; break; } } if(flag1==1){ continue; //挡路,这个人杀不死了 } else{ flag=1; //没挡路,这个人可以杀 } } } if(flag==1){ cout<<"Yes"<<endl; }else cout<<"No"<<endl; flag=0; flag1=0; } } |
Double click to view unformatted code.