向量平行
链接:https://ac.nowcoder.com/acm/contest/11216/A 来源:牛客网
给定n个向量的起点和终点x1,y1,x2,y2,再给出一个目标向量,求能否由n个向量中的两个相加构造出一个与目标向量平行的向量(注意,平行包括方向相同或相反)
保证x1≠x2 y1≠y2,保证两个向量相加不为零向量
输入描述:
第一行给定一个整数n
接下来n行每行四个整数x1,y1,x2,y2,表示第i个向量的起点和终点
最后一行给出四个整数x1,y1,x2,y2,表示目标向量的起点和终点
1≤n≤1000,1 \leq n \leq 1000,1≤n≤1000,1≤x1,y1,x2,y2≤100001\leq x1,y1,x2,y2 \leq 100001≤x1,y1,x2,y2≤10000输出描述:
若可以,输出“YES”
否则输出“NO”(均不含引号)示例1
输入
5
1 2 4 8
2 4 5 10
1 2 2 4
3 5 4 6
6 10 7 11
1 1 4 7输出
说明
解法
向量(a, b) // (c, d)的条件是:a * d = b * c。
向量加法:(a, b) + (c, d) = (a+c, b+d) 。
(其中(a, b)表示一个向量,a是向量的水平分量,b是竖直分量)
求出每个向量,两两组合相加后,分别与目标向量判断平行即可
最后更新于