poj 1269 Intersecting Lines (判断两条直线的状态)
来源:互联网 发布:word转jpg软件 编辑:程序博客网 时间:2024/05/20 06:51
题目连接:http://poj.org/problem?id=1269
题目思路:给出两条直线,给出的方式是两个点。 判断两条直线是平行,重合还是相交,相交的话求出交点。
解题思路:确定两点求直线, 根据直线的参数去判断状态,要注意一些特殊情况,比如平行x,y的直线等。
#include <stdio.h>#include <string.h>double a, b, c, d;double x[4], y[4];double xi, yi;int main() { int n; while (scanf("%d", &n) == 1) {printf("INTERSECTING LINES OUTPUT\n");while (n--) { for (int i = 0; i < 4; i++)scanf("%lf%lf", &x[i], &y[i]); a = y[1] - y[0]; b = x[1] - x[0]; c = y[3] - y[2]; d = x[3] - x[2]; if (a * d == b * c && (d || a) && (b || c)) {if (b == 0 && d == 0) { if (x[0] == x[2])printf("LINE\n"); elseprintf("NONE\n");}else if (y[0] - a * x[0] / b == y[2] - c * x[2] / d) printf("LINE\n");else printf("NONE\n"); } else {if (b == 0) { xi = x[0]; yi = c * (xi - x[2]) / d + y[2];}else if (d == 0) { xi = x[2]; yi = a * (xi - x[0]) / b + y[0];}else { xi = (b * d * (y[2] - y[0]) + a * d * x[0] - b * c * x[2]) / (a * d - b * c); yi = a * (xi - x[0]) / b + y[0];}printf("POINT %.2lf %.2lf\n", xi, yi); }}printf("END OF OUTPUT\n"); } return 0;}
- poj 1269 Intersecting Lines (判断两条直线的状态)
- poj 1269 Intersecting Lines 【判断两条直线的关系】
- poj 1269 Intersecting Lines(判断两条直线三种状态)
- POJ 1269 Intersecting Lines(判断两条直线的位置关系)
- POJ 1269 Intersecting Lines(判断两条直线关系)
- Intersecting Lines(判断两条直线的位置,模板)
- POJ 1269 Intersecting Lines(判断两直线关系)
- poj Intersecting Lines 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 1269Intersecting Lines 直线相交判断
- poj 1269 Intersecting Lines(两直线交点)
- POJ 1269 Intersecting Lines(判断直线的位置关系)
- struts2 全局格式化,格式化时间,金钱,数字
- 关于pc2的搭建
- python的异常处理
- poj——1789(图论之最小生成树的简单应用)
- JavaScript学习笔记(四十三) 迭代器
- poj 1269 Intersecting Lines (判断两条直线的状态)
- CGAffineTransform 放射变换
- 智能指针std::auto_ptr
- 美女壁纸
- 制作任务栏托盘菜单
- IT界三大定律:摩尔定律、反摩尔定律、安迪-比尔定律
- 【心路】女攻城师走在移动互联网道路的这两年
- 07.net网站开发(前端):4.MVC HtmlHelper
- xml Node getNodeValue 和 getTextContent 区别