判断点是否在线段上

简介: 判断点是否在线段上

题目描述


平面直角坐标系中有一个点 C 和一条线段 AB ,求点 C 和线段 AB 的位置关系。


输入描述


第一行输入一个 T ,代表测试数据量

每组测试数据输入有三行,每行一个实数坐标 (x, y)分别代表 A,B,C 三个点。


输出描述


如果点 C 在线段 AB 上, 输出Yes ,否则输出No


输入输出样例


示例 1

输入

1. 2
2. 0 1
3. 1 0
4. 1 1
5. 0 0
6. 2 2
7. 1 1

输出

1. No
2. Yes

运行限制

  • 最大运行时间:1s
  • 最大运行内存: 128M

思路:


这道题给了我们两个点组成的一条线段AB,还有一个额外的点C,要我们判断这个C点是否在这个直线上,我们可以先判断这个点是否在直线AB上,这里我们可以通过斜率判定,或者把他看成叉积来判定。再判断这个点是否在AB线段所在的区域内,如果都满足条件的话,我们判定该点在线段上,否则不在。


代码:


1. def Cross(a,b,c):
2. if (c[0]-a[0])*(a[1]-b[1])==(c[1]-a[1])*(a[0]-b[0])\ #判断是否共线
3. and min(a[0],b[0])<=c[0] and c[0]<=max(a[0],b[0])\ #判断是否在同一区域内
4. and min(a[1],b[1])<=c[1] and c[1]<=max(a[1],b[1]):
5. 
6. return True
7. else:
8. return False
9. 
10. t=int(input())
11. for i in range(t):
12.     a=tuple(map(float,input().split()))
13.     b=tuple(map(float,input().split()))
14.     c=tuple(map(float,input().split()))
15. if Cross(a,b,c):
16.         print("Yes")
17. else:
18.         print("No")
目录
相关文章
|
11月前
|
人工智能 C++ iOS开发
ollama + qwen2.5-coder + VS Code + Continue 实现本地AI 辅助写代码
本文介绍在Apple M4 MacOS环境下搭建Ollama和qwen2.5-coder模型的过程。首先通过官网或Brew安装Ollama,然后下载qwen2.5-coder模型,可通过终端命令`ollama run qwen2.5-coder`启动模型进行测试。最后,在VS Code中安装Continue插件,并配置qwen2.5-coder模型用于代码开发辅助。
18681 7
|
数据库
gorm 事务的使用
gorm 事务的使用
307 0
|
应用服务中间件 nginx
https网页加载http资源时不显示图片,报错解决方案
本文是博主学习网络知识的记录,希望对大家有所帮助。
5489 0
https网页加载http资源时不显示图片,报错解决方案
|
应用服务中间件
./configure *: No such file or directory
今天在CentOS下安装Nginx时,遇到了类似以下的问题: ./configure auto/unix: No such file or directory ./configure auto/options: No such file or directory 之前在另一台服务器上安装的时候也没有遇到此问题, 安装过程参考:CentOS6.5下Nginx1.7.4安装记录 于是网上搜索解决方案,但是搜索了很久也没有找到解决方案, 当我使用“mkdir auto/unix”之后,还是提示类似的错误,但目录名又变了。
3553 0
|
5月前
|
设计模式 XML JSON
【设计模式】【行为型模式】访问者模式(Visitor)
一、入门 什么是访问者模式? 访问者模式(Visitor Pattern)是一种行为设计模式,允许你将算法与对象结构分离。通过这种方式,可以在不改变对象结构的情况下,向对象结构中的元素添加新的操作。
168 10
|
11月前
|
Java Go
go语言在 switch 语句中使用 break
go语言在 switch 语句中使用 break
340 5
|
JavaScript 前端开发
JS - 如何上传 Base64 编码的图片
本文展示了如何将Base64编码的图片在前端转换为Blob对象,并使用`FormData`上传到服务器端的方法。
478 0
|
机器学习/深度学习 自然语言处理 并行计算
[Bert]论文实现:BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding
[Bert]论文实现:BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding
462 1
|
缓存 算法 Java
Java内存管理:优化性能和避免内存泄漏的关键技巧
综上所述,通过合适的数据结构选择、资源释放、对象复用、引用管理等技巧,可以优化Java程序的性能并避免内存泄漏问题。
252 5
|
SpringCloudAlibaba 负载均衡 Java
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(目录大纲)
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(目录大纲)
563 1