View Code of Problem 32

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


int main(){
	int x,y;
	int a[5],b[5],c[5];
	double r;
	int l;
	int flag;
	while(scanf("%d %d",&x,&y)!=EOF){
		for(int i=0;i<5;i++){
			scanf("%d %d %d",&a[i],&b[i],&c[i]);
		}
		flag=0;
		scanf("%d %lf",&l,&r);
		
		for(int i=0;i<5;i++){
			
			double dis=sqrt(pow(abs(a[i]-x),2)+pow(abs(b[i]-y),2));
			double max=dis*1.0*r;
			if(dis<=l&&c[i]<=max){
					flag=1;
			}
			for(int j=0;j<5;j++){
					double now=sqrt(pow(abs(a[j]-x),2)+pow(abs(b[j]-y),2));
				if(j!=i&&now<dis&&a[i]*b[j]==a[j]*b[i]){
						flag=0;
				}
			}
		}
		if(flag==1){
			printf("Yes\n");
		}else{
			printf("No\n");
		}
	}
}



	

Double click to view unformatted code.


Back to problem 32