zoukankan      html  css  js  c++  java
  • POJ 1106 Transmitters(计算几何)

    题目链接

    切计算几何,感觉计算几何的算法还不熟。此题,枚举线段和圆点的直线,平分一个圆

     1 #include <iostream>
     2 #include <cstring>
     3 #include <cstdio>
     4 #include <cstdlib>
     5 #include <cmath>
     6 using namespace std;
     7 #define eps 1e-8
     8 struct point
     9 {
    10     double x,y;
    11 }p[201];
    12 double dis(point p1,point p2)
    13 {
    14     return sqrt((p1.x-p2.x)*(p1.x-p2.x)+(p1.y-p2.y)*(p1.y-p2.y));
    15 }
    16 double xmult(point p1,point p2,point p0)
    17 {
    18     return (p1.x-p0.x)*(p2.y-p0.y)-(p2.x-p0.x)*(p1.y-p0.y);
    19 }
    20 int main()
    21 {
    22     point r;
    23     double d;
    24     int n,m,i,j,ans,temp;
    25     while(scanf("%lf%lf%lf",&r.x,&r.y,&d)!=EOF)
    26     {
    27         if(d < 0) break;
    28         scanf("%d",&n);
    29         m = 0;
    30         for(i = 0;i < n;i ++)
    31         {
    32             scanf("%lf%lf",&p[i].x,&p[i].y);
    33         }
    34         for(i = 0;i < n;i ++)
    35         {
    36             if(dis(p[i],r) > d)
    37             continue;
    38             p[m++] = p[i];
    39         }
    40         ans = 0;
    41         for(i = 0;i < m;i ++)
    42         {
    43             temp = 0;
    44             for(j = 0;j < m;j ++)
    45             {
    46                 if(xmult(p[i],p[j],r) >= 0)
    47                 temp ++;
    48             }
    49             ans = max(ans,temp);
    50         }
    51         printf("%d
    ",ans);
    52     }
    53     return 0;
    54 }

  • 相关阅读:
    Chapter 14_2 全局变量声明
    chapter 14_1 环境
    chapter 13_4 跟踪table的访问
    Linq to Entity 和 Linq to Object 异同
    ADO.net实体类操作
    XML
    JavaScript
    CSS样式表
    HTML
    java 反射
  • 原文地址:https://www.cnblogs.com/naix-x/p/3363630.html
Copyright © 2011-2022 走看看