/*
注意到对于k场比赛,如果a,b,c队胜场差是x1,x2,x3时,设a队胜场为t,则有t+t-x1+t-x1-x2=k,判断即可
注意是绝对值
*/
#include <cstdio>
#define LL long long
bool judge(LL n,LL k,LL d1,LL d2)
{
if((k+2*d1+d2)%3!=0) return 0;
LL x=(k+2*d1+d2)/3;
if(x<0) return 0;
if(x-d1<0) return 0;
if(x-d1-d2<0) return 0;
if((n-k+d1+2*d2)%3!=0) return 0;
LL y=(n-k+d1+2*d2)/3;
if(y<0) return 0;
if(y-d2<0) return 0;
if(y-d1-d2<0) return 0;
return 1;
}
int main()
{
int T;
LL n,k,d1,d2;
scanf("%d",&T);
while(T--)
{
scanf("%lld%lld%lld%lld",&n,&k,&d1,&d2);
bool ans=false;
ans=ans|judge(n,k,d1,d2);
ans=ans|judge(n,k,-d1,d2);
ans=ans|judge(n,k,d1,-d2);
ans=ans|judge(n,k,-d1,d2);
ans=ans|judge(n,k,d2,d1);
ans=ans|judge(n,k,-d2,d1);
ans=ans|judge(n,k,d2,-d1);
ans=ans|judge(n,k,-d2,d1);
if(ans==true)
printf("yes\n");
else
printf("no\n");
}
return 0;
}
451 C. Predict Outcome of the Game
最新推荐文章于 2018-12-12 11:41:12 发布