POJ 1269
2014-07-24 20:13
197 查看
中学的 又用上了。
View Code
#include <iostream> #include <cstring> #include <cstdio> using namespace std; int x1,y1,x2,y2,x3,y3,x4,y4; double k1,k2,k3,d1,d2; double x,y; bool asure(){ if(x1==x2||x3==x4){ if(x1==x2&&x3==x4&&x1==x3) printf("LINE\n"); else if(x1==x2&&x3==x4&&x1!=x3) printf("NONE\n"); else{ if(x1==x2){ k2=(y3-y4)*1.0/(x3-x4)*1.0; d2=y3*1.0-k2*x3; x=x1; y=k2*x+d2; } else { k1=(y1-y2)*1.0/(x1-x2)*1.0; d1=y1*1.0-k1*x1; x=x3; y=k1*x+d1; } printf("POINT %0.2lf %0.2lf\n",x,y); } return true; } return false; } int main(){ int T; while(scanf("%d",&T)!=EOF){ printf("INTERSECTING LINES OUTPUT\n"); while(T--){ scanf("%d%d%d%d%d%d%d%d",&x1,&y1,&x2,&y2,&x3,&y3,&x4,&y4); if(asure()) continue; k1=(y1-y2)*1.0/(x1-x2)*1.0; k2=(y3-y4)*1.0/(x3-x4)*1.0; if(k1==k2){ k3=(y2-y3)*1.0/(x2-x3)*1.0; if(k1==k3){ printf("LINE\n"); } else printf("NONE\n"); continue; } else { d1=y1*1.0-k1*x1; d2=y3*1.0-k2*x3; y=(k2*d1-k1*d2)/(k2-k1); x=(y-d1)*1.0/k1; printf("POINT %0.2lf %0.2lf\n",x,y); } } printf("END OF OUTPUT\n"); } return 0; }
View Code
相关文章推荐
- POJ1269 Intersecting Lines(计算几何)
- 【计算几何入门】poj 1269
- POJ 1269 Intersecting Lines
- poj 1269 Intersecting Lines
- 【poj 1269】Intersecting Lines
- POJ 1269 Intersecting Lines
- POJ 1269 Intersecting Lines(简单计算几何,判断直线的关系)
- POJ 1269 Intersecting Lines(判断直线的位置关系)
- POJ 1269 Intersecting Lines
- POJ 1269 Intersecting Lines
- [POJ 1269]Intersecting Lines
- 【POJ】1269 Intersecting Lines(计算几何基础)
- POJ 1269 (直线求交)
- POJ 1269(计算几何初步——简单处理解析几何,求直线交点)
- POJ-1269 直线相交的判断及交点
- poj 1269 Intersecting Lines 【判断两条直线的关系】
- POJ 1269 Intersecting Lines
- Poj 1269
- poj 1269 Intersecting Lines
- zoj 1280 || poj 1269 Intersecting Lines