View Code of Problem 32

#include <stdio.h>
#include <math.h>

int main()
{
    int X,Y,x[5],y[5],hp[5],i,j;
    int L;
    float R,distance[5];
    while(scanf("%d%d",&X,&Y)!=EOF){
        int flag=0;
        for(i=0;i<5;i++){
            scanf("%d%d%d",&x[i],&y[i],&hp[i]);
            distance[i]=sqrt((y[i]-Y)*(y[i]-Y)+(x[i]-X)*(x[i]-X));
        }
        scanf("%d%f",&L,&R);
        for(i=0;i<5;i++){
            if(distance[i]*R>hp[i]&&distance[i]<=L){
                for(j=0;j<5;j++){
                    if(i!=j&&((x[i]-X)*(y[j]-Y)==(x[j]-X)*(y[i]-Y))&&distance[j]<distance[i]&&distance[j]*R<hp[j]){
                        flag=0;
                    }
                    else
                        flag=1;
                }
            }
            if(flag==1)
                break;
        }
        if(flag==0)
            printf("No\n");
        else
            printf("Yes\n");
    }
    return 0;
}

Double click to view unformatted code.


Back to problem 32