poj 3304 Segments 线段与直线相交

#include
#include
#include
const double eps = 1e-8;
int n;
struct Pt {
    double x, y;
    Pt() { }
    Pt(double x, double y) : x(x), y(y) { }
};
struct Sg {
    Pt s, t;
    Sg() { }
    Sg(Pt s, Pt t) : s(s), t(t) { }
    Sg(double a, double b, double c, double d) : s(a, b), t(c, d) { }
};
double norm(Pt p) { return sqrt(p.x*p.x + p.y*p.y); }
//double dist (Pt a, Pt b) { return (a-b).norm(); }
void print(Pt p) { printf("(%f, %f)", p.x, p.y); }
Sg seg[110];
double mult(Pt sp, Pt ep, Pt op){
    return (sp.x-op.x)*(ep.y-op.y) - (ep.x-op.x)*(sp.y-op.y);
}
bool fun(Pt p1,Pt p2){
	if(fabs(p1.x-p2.x)eps)
			return false;	
	}
	return true;	
}
int main(){
    int t;
    scanf("%d",&t);
    while(t--){
		scanf("%d",&n);
		for(int i=0;i

##总结

  1. 判断是否存在一条直线与所有线段相交,枚举任意两条线段,如果存在两条线段生成的四条直线与任意一条线段相交,则命题成立。

你可能感兴趣的:(计算几何,题解)