poj 3335 二分+判断点在线段的哪一侧

设点为p0, 线段为p2-p1;

则向量p1-p0,和p2-p0求叉积

如果大于零则p0在线段左侧,小于0在右侧;

PxQ>0表示P在Q顺时针方向,<0在逆时针,=0共线;

#include
#include
#include
#include
//#include
using namespace std;
const double eps=1e-8;
const double inf=1e20;
const double pi=acos(-1.0);
const int maxp=1010;
int sgn(double x)
{
    if(fabs(x)>1;
                if(mult(Point(x,y),L[mid].s,L[mid].e)<0)
                {
                    r=mid-1;
                    num=mid;
                }
                else l=mid+1;
            }
            ans[num]++;
        }
        for(int i=0;i<=n;i++)
        {
            printf("%d: %d\n",i,ans[i]);
        }
        printf("\n");
    }
}

 

你可能感兴趣的:(poj 3335 二分+判断点在线段的哪一侧)