水题。判断两条直线位置关系。

考虑平行的情况,那么 四边形的面积会相等,重合的话,四边形的面积相等且为0.

除去这两种就一定有交点。

 #include <cstdio>
#include <cmath>
#define db double
using namespace std;
const db eps=1e-;
const db pi = acos(-);
int sign(db k){
if (k>eps) return ; else if (k<-eps) return -; return ;
}
int cmp(db k1,db k2){return sign(k1-k2);}
struct point{
db x,y;
point operator + (const point &k1) const{return (point){k1.x+x,k1.y+y};}
point operator - (const point &k1) const{return (point){x-k1.x,y-k1.y};}
point operator * (db k1) const{return (point){x*k1,y*k1};}
point operator / (db k1) const{return (point){x/k1,y/k1};}
};
db dot(point k1,point k2){
return k1.x*k2.x+k1.y*k2.y;
}
db cross(point k1,point k2){
return k1.x*k2.y-k1.y*k2.x;
}
int inmid(db k1,db k2,db k3){return sign(k1-k3)*sign(k2-k3)<=;}
int inmid(point k1,point k2,point k3){//k3在[k1,k2]
return inmid(k1.x,k2.x,k3.x)&&inmid(k1.y,k2.y,k3.y);
}
point getLL (point k1,point k2,point k3,point k4){//两直线交点
db w1=cross(k1-k3,k4-k3),w2=cross(k4-k3,k2-k3);
return (k1*w2+k2*w1)/(w1+w2);
}
bool onS(point k1,point k2,point q){//q在[k1,k2]
return inmid(k1,k2,q)&&sign(cross(k1-q,k2-k1))==;
}
int checkLL(point k1,point k2,point k3,point k4){//求两条直线是否 (平行||重合)
return cmp(cross(k3-k1,k4-k1),cross(k3-k2,k4-k2))==;
}
struct Line{
point p[];
}; db xl,yl,x2,y2;
int n;
point p[];
int main(){
scanf("%d",&n);
printf("INTERSECTING LINES OUTPUT\n");
while (n--){
for(int i=;i<=;i++){
scanf("%lf%lf",&p[i].x,&p[i].y);
}
if(checkLL(p[],p[],p[],p[])){
if(sign(cross(p[]-p[],p[]-p[]))==){
printf("LINE\n");
} else{
printf("NONE\n");
}
} else{
point tmp = getLL(p[],p[],p[],p[]);
printf("POINT %.2f %.2f\n",tmp.x,tmp.y);
}
}
printf("END OF OUTPUT\n");
}

poj 1269的更多相关文章

  1. POJ 1269 (直线求交)

    Problem Intersecting Lines (POJ 1269) 题目大意 给定两条直线,问两条直线是否重合,是否平行,或求出交点. 解题分析 主要用叉积做,可以避免斜率被0除的情况. 求交 ...

  2. 直线相交 POJ 1269

    // 直线相交 POJ 1269 // #include <bits/stdc++.h> #include <iostream> #include <cstdio> ...

  3. 判断两条直线的位置关系 POJ 1269 Intersecting Lines

    两条直线可能有三种关系:1.共线     2.平行(不包括共线)    3.相交. 那给定两条直线怎么判断他们的位置关系呢.还是用到向量的叉积 例题:POJ 1269 题意:这道题是给定四个点p1, ...

  4. poj 1269 线段与线段相交

    Intersecting Lines Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 13605   Accepted: 60 ...

  5. POJ 1269 Intersecting Lines (判断直线位置关系)

    题目链接:POJ 1269 Problem Description We all know that a pair of distinct points on a plane defines a li ...

  6. POJ 1269 Intersecting Lines(判断两直线位置关系)

    题目传送门:POJ 1269 Intersecting Lines Description We all know that a pair of distinct points on a plane ...

  7. poj 1269 Intersecting Lines

    题目链接:http://poj.org/problem?id=1269 题目大意:给出四个点的坐标x1,y1,x2,y2,x3,y3,x4,y4,前两个形成一条直线,后两个坐标形成一条直线.然后问你是 ...

  8. poj 1269 水题

    题目链接:http://poj.org/problem?id=1269 #include<cstdio> #include<cstring> #include<cmath ...

  9. ●POJ 1269 Intersecting Lines

    题链: http://poj.org/problem?id=1269 题解: 计算几何,直线交点 模板题,试了一下直线的向量参数方程求交点的方法. (方法详见<算法竞赛入门经典——训练指南> ...

  10. POJ 1269 - Intersecting Lines - [平面几何模板题]

    题目链接:http://poj.org/problem?id=1269 Time Limit: 1000MS Memory Limit: 10000K Description We all know ...

随机推荐

  1. 编写CentOS的System V init启动脚本

    系统本身自带了说明,在/usr/share/doc/initscripts-(*)/sysvinitfiles,内容如下: 所有System V init脚本都命名为/etc/rc.d/init.d/ ...

  2. .Net Core中的通用主机(一)——系统配置

    ASP.NET Core 2.0 中的 WebHost(实现 IWebHost 的基类)是用于为进程提供 HTTP 服务器功能的基础结构项目,例如,如果正在实现 MVC Web 应用或 Web API ...

  3. Sqoop导入到hdfs

    1.注意win下直接复制进linux 改一下--等 sqoop-list-databases --connect jdbc:mysql://122.206.79.212:3306/ --usernam ...

  4. C#隐藏手机号中间四位为*

    使用正则:Regex.Replace(手机号, "(\\d{3})\\d{4}(\\d{4})", "$1****$2"); 效果:

  5. YUV420、YUV422、RGB24转换

      //平面YUV422转平面RGB24static void YUV422p_to_RGB24(unsigned char *yuv422[3], unsigned char *rgb24, int ...

  6. 第三天:MDN CSS学习笔记

    一:CSS基础 1:DOM 当浏览器显示文档时,它必须将文档的内容与其样式信息结合.它分两个阶段处理文档: 浏览器将 HTML 和 CSS 转化成 DOM (文档对象模型).DOM在计算机内存中表示文 ...

  7. V-rep学习笔记:切削

    V-REP allows you to perform cutting simulations. The user can model almost any type of cutting volum ...

  8. iOS - 统计代码行数

    终端 -> 进入文件夹 查看每一行的行数 find . -name "*.m" -or -name "*.h" -or -name "*.xib ...

  9. 【php】php输出jquery的轮询,5秒跳转指定url

    1.在php中直接输出jquery的轮询,5秒后跳转指定url 2.代码稍微改动,即可在html中使用 3.代码: public function alpha(){ $html = '<!DOC ...

  10. 在 System.Web.Mvc.DefaultModelBinder.ConvertProviderRe

    在 System.Web.Mvc.ValueProviderResult.ConvertSimpleType(CultureInfo culture, Object value, Type desti ...