题意:给你一对数a,b,你可以任意使用(a,b), (a,-b), (-a,b), (-a,-b), (b,a), (b,-a), (-b,a), (-b,-a)这些向量,问你能不能拼出另一个向量(x,y)。

实际上前四个向量能拼出(ma,nb)(m%2=n%2).后四个向量拼出(xb,ya)(x%2=y%2).

这样可以枚举这四个未知数在模二意义下的解。这两个向量相加为(ma+xb,nb+ya).

对于ma+xb=X.根据系数的奇偶性,如果有系数为奇数,可使得等式两边都减去一个数使得系数都为偶数,这样再同除以二。

就是一般的用裴蜀定理来判断这类方程是否有解的过程了。

# include <cstdio>
# include <cstring>
# include <cstdlib>
# include <iostream>
# include <vector>
# include <queue>
# include <stack>
# include <map>
# include <bitset>
# include <set>
# include <cmath>
# include <algorithm>
using namespace std;
# define lowbit(x) ((x)&(-x))
# define pi acos(-1.0)
# define eps 1e-
# define MOD
# define INF
# define mem(a,b) memset(a,b,sizeof(a))
# define FOR(i,a,n) for(int i=a; i<=n; ++i)
# define FO(i,a,n) for(int i=a; i<n; ++i)
# define bug puts("H");
# define lch p<<,l,mid
# define rch p<<|,mid+,r
# define mp make_pair
# define pb push_back
typedef pair<int,int> PII;
typedef vector<int> VI;
# pragma comment(linker, "/STACK:1024000000,1024000000")
typedef long long LL;
int Scan() {
int x=,f=;char ch=getchar();
while(ch<''||ch>''){if(ch=='-')f=-;ch=getchar();}
while(ch>=''&&ch<=''){x=x*+ch-'';ch=getchar();}
return x*f;
}
const int N=;
//Code begin...
bool check(LL x, LL y, LL gcd){return x%gcd==&&y%gcd==;}
int main ()
{
int T;
LL a, b, x, y, gcd;
scanf("%d",&T);
while (T--) {
scanf("%lld%lld%lld%lld",&a,&b,&x,&y);
if (a==&&b==) {puts(x==&&y==?"Y":"N"); continue;}
if (a==||b==) gcd=(a==?b:a);
else gcd=__gcd(a,b);
gcd*=;
if (check(x,y,gcd)||check(x-a,y-b,gcd)||check(x-b,y-a,gcd)||check(x-a-b,y-a-b,gcd)) puts("Y");
else puts("N");
}
return ;
}

最新文章

  1. BizTalk Server 2016
  2. jQuery小节
  3. CountUp.js – 让数字以非常有趣的动画方式显示
  4. 前端上传组件Plupload使用指南
  5. 转载:Objective-C中的 instancetype 和 id 关键字
  6. HDU2546 饭卡(背包)
  7. 如何在ASP.NET 5中使用ADO.NET
  8. 获取byte数组的实际使用长度
  9. C#——中文转化成拼音
  10. 【山东省选2008】郁闷的小J 平衡树Treap
  11. laravel5.5+vue+Element-ui+vux环境搭建(webpack+laravelMix)(转)
  12. QQ现状深度剖析:你还认为QQ已经被微信打败了吗?
  13. 解决Echarts封装成组件时只有最后一个才会缩放的问题
  14. Django学习手册 - 登录装饰器
  15. Javabean非空变量校验工具
  16. @RequestMapping、@Responsebody、@RequestBody和@PathVariable详解(转)
  17. MapReduce中的partitioner
  18. MongoDB安装配置教程
  19. webpack4 自学笔记五(tree-shaking)
  20. 【第五课】LNMP环境的入门

热门文章

  1. WPF MVVM从入门到精通2:实现一个登录窗口
  2. day5 RHCE
  3. 【BZOJ4803】逆欧拉函数
  4. Airflow使用入门指南
  5. DataGrid中Combox bingding string
  6. 纯CSS3实现旋转木马
  7. [线性DP][codeforces-1110D.Jongmah]一道花里胡哨的DP题
  8. Markdown分级语法手册
  9. 第四次ScrumMeeting博客
  10. Linux java项目冲突不能正常运行