View Code of Problem 32

#include<stdio.h>

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

Double click to view unformatted code.


Back to problem 32