poj 1269 Intersecting Lines

别人的代码,很简洁

#include<stdio.h>
int main()
{
	int n,m;
	double x1,x2,x3,x4,y1,y2,y3,y4,b,a,c,d,x0,y0;
	scanf("%d",&n);
	m=n;
	while(n--){
		scanf("%lf%lf%lf%lf%lf%lf%lf%lf",&x1,&y1,&x2,&y2,&x3,&y3,&x4,&y4);
		a=x2-x1;
		b=y2-y1;
		c=x4-x3;
		d=y4-y3;
		if(n==m-1)
			puts("INTERSECTING LINES OUTPUT");
		if(a*d==b*c){
			if((x3-x1)*b==(y3-y1)*a)
				puts("LINE");
			else
				puts("NONE");
		}
		else{
			x0=(a*d*x3-b*c*x1+a*c*y1-a*c*y3)/(a*d-b*c);
			y0=(a*d*y1-b*c*y3+b*d*x3-b*d*x1)/(a*d-b*c);
			printf("POINT %.2f %.2f\n",x0,y0);
		}
		if(n==0)
			puts("END OF OUTPUT");
	}
	return 0;
}


 

你可能感兴趣的:(poj 1269 Intersecting Lines)