poj 1269 Intersecting Lines(判断两条直线三种状态)

三、CornerstoneTools中的工具介绍使用 CornelstoneTools 事件将本地事件捕获,并进行规范化,并使用 cornerstonetools 前缀重新触发,这样在不同的浏览器中可以一致地处理事件。Cornerstone Tools 所有的工具均为 class 类,都是通过继承 class 类的方式实现统一的集成。📢 注意:在同一种绑定方式下有且仅有一种工具被激活,不会有两个工具被激活。注册的工具处于以下四种模式之一,每种模式都会影响工具对交互的响应方式。查看当前的cornerstoneTools版本号。 阅读详情

Intersecting Lines
Time Limit: 1000MS Memory Limit: 10000K
Total Submissions: 16792 Accepted: 7233

Description

We all know that a pair of distinct points on a plane defines a line and that a pair of lines on a plane will intersect in one of three ways: 1) no intersection because they are parallel, 2) intersect in a line because they are on top of one another (i.e. they are the same line), 3) intersect in a point. In this problem you will use your algebraic knowledge to create a program that determines how and where two lines intersect. 
Your program will repeatedly read in four points that define two lines in the x-y plane and determine how and where the lines intersect. All numbers required by this problem will be reasonable, say between -1000 and 1000. 

Input

The first line contains an integer N between 1 and 10 describing how many pairs of lines are represented. The next N lines will each contain eight integers. These integers represent the coordinates of four points on the plane in the order x1y1x2y2x3y3x4y4. Thus each of these input lines represents two lines on the plane: the line through (x1,y1) and (x2,y2) and the line through (x3,y3) and (x4,y4). The point (x1,y1) is always distinct from (x2,y2). Likewise with (x3,y3) and (x4,y4).

Output

There should be N+2 lines of output. The first line of output should read INTERSECTING LINES OUTPUT. There will then be one line of output for each pair of planar lines represented by a line of input, describing how the lines intersect: none, line, or point. If the intersection is a point then your program should output the x and y coordinates of the point, correct to two decimal places. The final line of output should read "END OF OUTPUT".

Sample Input

5
0 0 4 4 0 4 4 0
5 0 7 6 1 0 2 3
5 0 7 6 3 -6 4 -3
2 0 2 27 1 5 18 5
0 3 4 0 1 2 2 5

Sample Output

INTERSECTING LINES OUTPUT
POINT 2.00 2.00
NONE
LINE
POINT 2.00 5.00
POINT 1.07 2.20
END OF OUTPUT

分析:这个提示真的坑,代码注释自己看吧。

代码如下:

#include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
#include<cstdlib>
#include<algorithm>
using namespace std;

int main()
{
	int n;
	double x1,x2,x3,x4,y1,y2,y3,y4;
	scanf("%d",&n);
	printf("INTERSECTING LINES OUTPUT\n");
	while(n--)
	{
		scanf("%lf%lf%lf%lf%lf%lf%lf%lf",&x1,&y1,&x2,&y2,&x3,&y3,&x4,&y4);
		
		if((x4-x3)*(y2-y1)==(y4-y3)*(x2-x1)) //斜率判断 
		{
			if((x2-x1)*(y3-y1)==(y2-y1)*(x3-x1))// 叉乘判断是否重合 (取一条线上俩点加另外一条直线上一个点) 
				printf("LINE\n");
			else
				printf("NONE\n");
		}
		else
		{
			double A1=y2-y1;	double B1=x1-x2;	double C1=x2*y1-x1*y2;
			double A2=y4-y3;	double B2=x3-x4;	double C2=x4*y3-x3*y4;
			double x0=((C1*B2)-(C2*B1))/((A2*B1)-(A1*B2));
			double y0=(A2*x0+C2)/(-B2);
			//y0=((A1*C2)-(A2*C1))/((A2*B1)-(A1*B2));
			printf("POINT %.2lf %.2lf\n",x0,y0);	//注意double类型,在g++中会出错,提交用c++; 
		}
	}
	printf("END OF OUTPUT\n");
	return 0;
}




SAP Workflow审批功能实例详细过程 阅读详情

相关推荐

基于车牌识别的停车收费系统的设计与实现(源码+开题)

本系统(程序源码)带文档lw万字以上文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景: 随着城市化进程的加速和汽车保有量的增加,停车难成为了一个普遍存在的问题。传统的停车收费方式存在着效率低下、管理混乱等问题。因此,开发一款基于车牌识别的停车收费系统具有重要的现实意义。研究意义: 基于车牌识别的停车收费系统可以有效地解决传统停车收费方式在效率和准确性方面的问题,提高停车服务的效率和质量。

迟限程序设计 1392

poj 1269 Intersecting Lines

Intersecting Lines Time Limit: 1000MS   Memory Limit: 10000KB   64bit IO Format: %I64d & %I64u [Submit]

codeStone 1019

树莓派4B之OpenCV人脸识别实战:从Haar Cascade到实时检测(保姆级教程)

本教程详细介绍了如何在树莓派4B上部署OpenCV,并利用Haar Cascade算法实现实时人脸识别。内容涵盖从系统环境搭建、算法原理解析到代码逐行讲解与实战调优,为嵌入式AI和计算机视觉初学者提供了一份完整的保姆级实践指南。

p8q9r0的博客 402

Intersecting Lines(POJ-1269)

Description We all know that a pair of distinct points on a plane defines a line and that a pair of lines on a plane will intersect in one of three ways: 1) no intersection because they are parallel, ...

qq_40634175的博客 1079

Cesium创建无人机视锥,同步视锥与鹰眼地图视角,实现视锥键盘控制。解决视锥初始化位置不准确问题等

本文描述了一个基于Cesium的3D视锥体可视化系统开发过程。系统实现了主视图与鹰眼视图的双屏联动,支持通过键盘控制视锥体的空间移动(WASD前后左右,Q/E旋转,C/Z升降),并实时同步更新两个视图。关键技术包括:1)基于主视图Scene创建Camera实现视锥体精确绘制;2)通过PerspectiveFrustum设置视锥参数;3)建立双视图的相机位置及视角同步机制。目前暂未实现视锥体far/near边界在鹰眼视图中的可视化,该系统可应用于无人机视角监控等三维场景交互需求。

coder_bin的博客 1592

STM32F103C8T6驱动DM542步进电机:从CubeMX配置到按键控制的全流程避坑指南

本文详细介绍了如何使用STM32F103C8T6通过CubeMX配置驱动DM542步进电机的全流程,包括PWM频率计算、GPIO模式选择及按键控制实现。重点解决了常见硬件连接错误、PWM参数配置及加减速算法优化,帮助开发者快速搭建稳定的电机控制系统。

weixin_42741930的博客 308

UVA - 378 Intersecting Lines【基础计算几何】

【题目描述】 We all know that a pair of distinct points on a plane defines a line and that a pair of lines on a plane will intersect in one of three ways: 1) no intersection because they are parallel, 2) in...

inv0ker的博客 298

VisionPro脚本实战:用C#替代QuickBuild,让复杂定位项目代码更清爽

本文探讨了如何通过C#脚本重构VisionPro复杂定位项目,替代臃肿的QuickBuild架构。通过实战案例展示了脚本化开发如何减少60%代码量并提升35%运行效率,使项目更易维护。文章详细介绍了环境搭建、多模板定位重构及高级技巧,帮助开发者突破QuickBuild限制,实现更高效的视觉应用开发。

weixin_30417487的博客 505

poj 1269 Intersecting Lines(直线相交)

Intersecting Lines Time Limit:1000MS Memory Limit:10000K Total Submissions:8637 Accepted:3915 Description We all know that a pair of distinct points on a plane defi...

weixin_34293141的博客 250

手眼标定----眼在手上(eye-in-hand)

@TOC 标定之前你可以先拿个怡宝盖子进行测试。 第一步:打开halcon,采集,然后生成代码,显示十字架 第二步:把怡宝盖子放在十字架中心位置,在图像处理,找到怡宝盖子 第三步:找到怡宝盖子然后进行九点标定(眼在外帖子有讲),移动机器手然后分别拍9次照片,记录怡宝盖子坐标和当前机器坐标。这里移动到中心位置的时候记录一下单独记录一下坐标,等下要用。 顺序 第四步:拍完后利用vector_to_hom_mat2d算子求出矩阵,然后在利用write_tuple (HomMat2D, ‘路径’)进行保存。这里

苏州程序大白的博客 4282

国科大学习资料--现代数字信号处理I(张颢)--2020年期末考试试卷

国科大学习资料–现代数字信号处理I(张颢)–2020年期末考试试卷 国科大学习资料–现代数字信号处理I(张颢)–2020年期末考试试卷 国科大学习资料–现代数字信号处理I(张颢)–2020年期末考试试卷 =========================================================================================================================================================

无名何许人的博客 3575

poj 1269 Intersecting Lines (判断两条直线的状态)

题目连接:http://poj.org/problem?id=1269 题目思路:给出两条直线,给出的方式是两个点。 判断两条直线是平行,重合还是相交,相交的话求出交点。 解题思路:确定两点求直线, 根据直线的参数去判断状态,要注意一些特殊情况,比如平行x,y的直线等。 #include #include double a, b, c, d; double x[

不慌不忙、不急不躁 1087

OpenClaw 股票自动化交易实践指南:从原理到实战的完整技术路径

量化交易策略的开发是一个系统工程,需要综合运用金融知识、编程技能和数据分析能力。OpenClaw通过引入提示词工程技术,大大降低了策略开发的技术门槛,使得更多投资者能够参与到量化交易中来。但技术只是工具,真正决定策略成败的是对市场的深刻理解和严格的风险管理。本章系统介绍了OpenClaw环境下的策略开发方法,从提示词驱动到传统代码实现,从参数优化到回测验证,涵盖了策略开发的完整流程。提示词驱动方式适合快速验证交易想法,传统代码方式适合实现复杂的定制逻辑,两种方式可以协同使用,发挥各自的优势。

lovely_yoshino的博客 5991

poj 1269 Intersecting Lines(两直线交点)

http://poj.org/problem?id=1269 Intersecting Lines Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 13425   Accepted: 5977 Description We all know that

大太阳 675

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

【计算几何】POJ 1269 Intersecting Lines

POJ 1269 Intersecting Lines【传送门】 Intersecting Lines Time Limit:1000MS Memory Limit:10000K Total Submissions:20497 Accepted:8658 Description We all know that a pair of disti...

lesileqin的博客 221

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

POJ 1269 Intersecting Lines

题目链接 题意: 判断两条直线的关系:相交 平行 重合 代码: #include <stdio.h> #include <cstring> #include <cmath> #include <iostream> #include <queue> #include <map> #include...

168

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

POJ 1269 Intersecting Lines 判断直线间的状态(平行、重合、相交于一点)

Intersecting Lines Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 8593   Accepted: 3900 Description We all know that a pair of distinct points on a plane

z007kt的专栏 875

Poj_1269 Intersecting Lines -判两直线状态(水题、坑OJ)

题意:判直线相交、平行、重合 吐槽:坑OJ,G++WA,C++AC,模版题 /************************************************ Author :DarkTong Created Time :2016/8/3 23:02:25 File Name :Poj_1269.cpp ****...

bannesi6888的博客 146

POJ 1269 Intersecting Lines G++ 分别给出两条直线上的两点求直线关系 背

给出两条直线的端点坐标,判断两条直线是平行、是重叠、还是交于一点。

woniupengpeng的专栏 591

POJ1269 Intersecting Lines(向量基本运算)

冒险寮 【题目大意】 给你四个点的坐标表示两条线段的端点,判断两条线段的位置关系:相交、共线、不相交,如果相交则输出交点坐标。 【输入格式】 第一行一个整数N。 接下来N行,每行8个整数表示4个点的坐标。 【输出格式】 首先输出一行“INTERSECTING LINES OUTPUT”,对于每组询问,如果不相交输出“NONE”,共线输出“LINE”,相交输出两个两位小数表示交点的坐标...

Michael_GLF的博客 209

poj 1269

题目概述给定两条直线上各2个点,这4个点互不重合,问两条直线的位置关系是重合,平行,或相交,若相交则求出交点时限1000ms/3000ms输入第一行正整数times,其后times行,每行8个整数,分别代表第一条直线上两个点的坐标和第二条直线上两个点的坐标限制1<=times<=10;-1000<=坐标中的数字<=1000输出第一行为字符串INTERSECTING LINES OUTPUT,其后ti

[CHN]liurui 345

poj 1269 Intersecting Lines[直线的关系]

题目链接: poj 1269

985
上一篇: poj 3304 Segments(线段与直线相交)
下一篇: 2017 ACM-ICPC 亚洲区(南宁赛区)网络赛 L. The Heaviest Non-decreasing Subsequence Problem
Singular__point
博客等级 码龄10年 38粉丝 160原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值