zoukankan      html  css  js  c++  java
  • POJ 1106

    先判断是否在圆内,然后用叉积判断是否在180度内。枚举判断就可以了。。。

    感觉是数据弱了。。

    #include <iostream>
    #include <cstdio>
    #include <cstring>
    #include <algorithm>
    #include <cmath>
    
    using namespace std;
    const double eps=0.00000001;
    struct point{
    	double x,y;
    }p[1050],circle;
    double rad;
    int n,ans;
    
    double dist(double x1,double y1, double x2,double y2){
    	return sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2));	
    }
    
    bool multi(point a,point b){
    	if((a.x-circle.x)*(b.y-circle.y)-(a.y-circle.y)*(b.x-circle.x)>=0)
    	return true;
    	return false;
    }
    
    void slove(){
    	int tmp;
    	for(int i=0;i<n;i++){
    		tmp=0;
    		for(int j=0;j<n;j++){
    			if(multi(p[i],p[j])){
    				tmp++;
    			}
    		}
    		if(tmp>ans) ans=tmp;
    	}
    }
    
    int main(){
    	int ni; double x,y;
    	while(scanf("%lf%lf%lf",&circle.x,&circle.y,&rad)!=EOF){
    		if(rad<0) break;
    		scanf("%d",&ni); n=0;
    		for(int i=0;i<ni;i++){
    			scanf("%lf%lf",&x,&y);
    			if(dist(x,y,circle.x,circle.y)<=rad){
    				p[n].x=x; p[n].y=y;
    				n++;
    			}
    		}
    	//	cout<<n<<endl;
    		if(rad==0) { printf("0
    "); continue; }
    		ans=0;
    		slove();
    		printf("%d
    ",ans);
    	}
    	return 0;
    }
    

      

  • 相关阅读:
    既然选择了远方,就只顾风雨兼程!
    slots
    面向对象
    模块和作用域
    偏函数
    python中decorator
    返回函数
    filter, sort
    map/reduce
    开发步骤
  • 原文地址:https://www.cnblogs.com/jie-dcai/p/3876542.html
Copyright © 2011-2022 走看看