zoukankan      html  css  js  c++  java
  • poj 2653 计算几何

     1 #include <iostream>
     2 #include <cstring>
     3 #include <algorithm>
     4 #include <cmath>
     5 #include <cstdio>
     6 using namespace std;
     7 struct  point {
     8     double x,y;
     9 };
    10 point be[100005],en[100005];
    11 int ans[100005];
    12 int res[100005];
    13 
    14 double max(double a,double b){
    15     return a>b?a:b;
    16 }
    17 double min(double a,double b){
    18     return a<b?a:b;
    19 }
    20 
    21 int inter(point a,point b,point c,point d){
    22     if(min(a.x,b.x)>max(c.x,d.x)||min(a.y,b.y)>max(c.y,d.y)||min(c.x,d.x)>max(a.x,b.x)||min(c.y,d.y)>max(a.y,b.y))
    23         return 0;
    24     double h,i,j,k;
    25     h = (c.x-a.x)*(b.y-a.y)-(c.y-a.y)*(b.x-a.x);
    26     i = (d.x-a.x)*(b.y-a.y)-(d.y-a.y)*(b.x-a.x);
    27     j = (a.x-c.x)*(d.y-c.y)-(a.y-c.y)*(d.x-c.x);
    28     k = (b.x-c.x)*(d.y-c.y)-(b.y-c.y)*(d.x-c.x);
    29     return h*i<0&&j*k<0;
    30 }
    31 int main()
    32 {
    33     int n;
    34     while(scanf("%d",&n)==1&&n){
    35         for(int i=0;i<n;i++)
    36             cin>>be[i].x>>be[i].y>>en[i].x>>en[i].y;
    37         memset(ans,0,sizeof(ans));
    38         memset(res,0,sizeof(res));
    39         for(int i=0;i<n;i++){
    40             for(int j=i+1;j<n;j++){
    41                 if(inter(be[i],en[i],be[j],en[j])){
    42                     ans[i] =1;
    43                     break;
    44                 }
    45             }
    46         }
    47         int cnt =0;
    48         for(int i=0;i<n;i++){
    49             if(!ans[i])
    50                 res[cnt++] = i+1;
    51         }
    52         printf("Top sticks: ");
    53         for(int i=0;i<cnt-1;i++)
    54             printf("%d, ",res[i]);
    55         printf("%d.
    ",res[cnt-1]);
    56 
    57     }
    58     return 0;
    59 }
  • 相关阅读:
    TopShelf注册win10 服务
    win 10服务简单注册
    关于Win10 的服务注册
    泛型 Generic
    数据转换成字符串格式
    蛋白粉怎么吃
    6 ways to Sort Pandas Dataframe: Pandas Tutorial
    GET and POST requests using Python
    python中安装包出现Retrying, 国内pip源提示“not a trusted or secure host”解决
    Anaconda 4.7.5
  • 原文地址:https://www.cnblogs.com/Bang-cansee/p/3724249.html
Copyright © 2011-2022 走看看