poj1269

来源:互联网 发布:linux log4j 中文乱码 编辑:程序博客网 时间:2024/06/05 02:46

Source Code

Problem: 1269 User: PraesidioMemory: 156K Time: 0MSLanguage: C++ Result: Accepted
  • Source Code
    #include <cstdio>const double eps=1e-8;struct point{double x,y;point() {}point(double _x,double _y) : x(_x),y(_y) {}};double operator * (point A,point B) {return (A.x*B.y-A.y*B.x);}double operator ^ (point A,point B){return (A.x*B.x+A.y*B.y);}point operator - (point A,point B){return point(A.x-B.x,A.y-B.y);}int n;int x1,y1,x2,y2;int sgn(double d){return (d>eps?1:(d<-eps?-1:0));} int main(){scanf("%d",&n);printf("INTERSECTING LINES OUTPUT\n");for (int i=0;i<n;i++) {point a[5];int x,y;for (int j=1;j<=4;j++) {scanf("%d%d",&x,&y);a[j]=point(x,y);}double d1,d2;d1=(a[2]-a[1])*(a[3]-a[1]);d2=(a[2]-a[1])*(a[4]-a[1]);if (sgn(d1-d2)==0) {if ((a[1].y-a[2].y)*(a[1].x-a[3].x)-(a[1].y-a[3].y)*(a[1].x-a[2].x)==0)printf("LINE\n");else printf("NONE\n"); continue;}point node=point((a[3].x*d2-a[4].x*d1)/(d2-d1) , (a[3].y*d2-a[4].y*d1)/(d2-d1));printf("POINT %.2lf %.2lf\n",node.x,node.y);}printf("END OF OUTPUT\n");return 0;} 
0 0
原创粉丝点击