zoj1041

来源:互联网 发布:pp助手mac版备份照片 编辑:程序博客网 时间:2024/04/28 13:34

按理说这道题不难,但是因为不知道向量的差乘,所以感觉无从下手。就这样记住吧

# include<stdio.h>struct node{int x,y;}s[155];int dist(int x0,int y0,int x1,int y1){return (x0 - x1)*(x0 - x1) + (y0 - y1)*(y0 - y1);}int main(){int i,j,n,x0,y0,k,x1,y1,max,count;double r;while(scanf("%d%d%lf",&x0,&y0,&r)!=EOF){if(r<0) break;scanf("%d",&n);k=0;for(i=1;i<=n;i++){scanf("%d%d",&x1,&y1);if(dist(x0,y0,x1,y1) <= r*r) {k++;s[k].x=x1;s[k].y=y1;}}if(k<=1) {printf("%d\n",k);continue;}max=0;for(i=1;i<=k;i++){count=0;for(j=1;j<=k;j++)if((s[i].x - x0)*(s[j].y - y0) - (s[j].x - x0)*(s[i].y - y0) <= 0) count++;if(count>max) max=count;}printf("%d\n",max);}return 0;}


 

原创粉丝点击