a+b Beta Round #13 (数学专场)
众所周知,两个向量a(x1,y1)+b(x2,y2)=c(x1+x2,y1+y2)。
那么我们已经熟知了向量的运算法则,下面我们来做一点实际问题。
给出两个向量a和b,以及n个向量的集合A={vector[i]}。问a,b是否与A等价。
等价的条件是对于任意整数x,y,都可以找到一个长度为n的整数序列T={t[i]|t[i]是整数}
使得
反之亦然(对于每个序列,都有一个x,y与之对应)。
输入格式
第一行一个整数Q,表示数据组数
对于每组数据,第一行给出n。
接下来n行,每行两个整数表示vector[i]。
最后两个用空格隔开的向量a和b,每个向量由两个整数表示。
输出格式
对于每组数据,如果等价输出YES,如果不等价输出NO
样例输入
1 2 1 2 3 4 1 2 3 4
样例输出
YES
数据范围与约定
- 对于30%的数据:
- 对于100%的数据:
- 同时对于所有数据,vector[i]的每个维都是0~10001的整数,并且它们不共线,对于最后的a和b每个维保证在int范围内。
- 友情提示,用long long可能会好一点