向量平行

链接: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是竖直分量)

求出每个向量,两两组合相加后,分别与目标向量判断平行即可

最后更新于