Predict Outcome of the Game

Time Limit:2000MS     Memory Limit:262144KB     64bit IO Format:%I64d & %I64u

Description

There are n games in a football tournament. Three teams are participating in it. Currently k games had already been played.

You are an avid football fan, but recently you missed the whole k games. Fortunately, you remember a guess of your friend for these kgames. Your friend did not tell exact number of wins of each team, instead he thought that absolute difference between number of wins of first and second team will be d1 and that of between second and third team will be d2.

You don't want any of team win the tournament, that is each team should have the same number of wins after n games. That's why you want to know: does there exist a valid tournament satisfying the friend's guess such that no team will win this tournament?

Note that outcome of a match can not be a draw, it has to be either win or loss.

Input

The first line of the input contains a single integer corresponding to number of test cases t(1 ≤ t ≤ 105).

Each of the next t lines will contain four space-separated integers n, k, d1, d2(1 ≤ n ≤ 1012; 0 ≤ k ≤ n; 0 ≤ d1, d2 ≤ k) — data for the current test case.

Output

For each test case, output a single line containing either "yes" if it is possible to have no winner of tournament, or "no" otherwise (without quotes).

Sample Input

Input
5
3 0 0 0
3 3 0 0
6 4 1 0
6 3 3 0
3 3 3 2
Output
yes
yes
yes
no
no

Hint

Sample 1. There has not been any match up to now (k = 0, d1 = 0, d2 = 0). If there will be three matches (1-2, 2-3, 3-1) and each team wins once, then at the end each team will have 1 win.

Sample 2. You missed all the games (k = 3). As d1 = 0 and d2 = 0, and there is a way to play three games with no winner of tournament (described in the previous sample), the answer is "yes".

Sample 3. You missed 4 matches, and d1 = 1, d2 = 0. These four matches can be: 1-2 (win 2), 1-3 (win 3), 1-2 (win 1), 1-3 (win 1). Currently the first team has 2 wins, the second team has 1 win, the third team has 1 win. Two remaining matches can be: 1-2 (win 2), 1-3 (win 3). In the end all the teams have equal number of wins (2 wins).

 #include <stdio.h>
#include <string.h>
#include <algorithm>
using namespace std; int main()
{
int T;
long long n,k,d1,d2;
long long i,j;
scanf("%d",&T);
while(T--)
{
scanf("%I64d %I64d %I64d %I64d",&n,&k,&d1,&d2);
long long x,y,z,c,v,ma; int flg=; v=k-d1-*d2;
if(v>= && v%== && flg==)
{
x=v/+d1+d2,y=v/+d2,z=v/;
if((n-k-(x-y+x-z))>= && (n-k-(x-y+x-z))%==)
flg=;
//if(flg==1)
//printf("%d\n",1);
} v=k-d1+*d2;
if(v>= && v%== && flg==)
{
x=v/+d1-d2,y=v/-d2,z=v/;
if(x>= && y>= && z>=)
{
ma=max(x,y);
ma=max(ma,z);
if((n-k-(ma-x+ma-y+ma-z))>= && (n-k-(ma-x+ma-y+ma-z))%==)
flg=;
}
//if(flg==1)
//printf("%d\n",2);
} v=k+d1-*d2;
if(v>= && v%== && flg==)
{
x=v/-d1+d2,y=v/+d2,z=v/;
if(x>= && y>= && z>=)
{
ma=max(x,y);
ma=max(ma,z);
if((n-k-(ma-x+ma-y+ma-z))>= && (n-k-(ma-x+ma-y+ma-z))%==)
flg=;
}
//if(flg==1)
//printf("%d\n",3);
} v=k+d1+*d2;
if(v>= && v%== && flg==)
{
x=v/-d1-d2,y=v/-d2,z=v/;
if(x>= && y>= && z>=)
{
ma=max(x,y);
ma=max(ma,z);
if((n-k-(ma-x+ma-y+ma-z))>= && (n-k-(ma-x+ma-y+ma-z))%==)
flg=;
}
//if(flg==1)
//printf("%d\n",4);
} if(flg==)
printf("yes\n");
else
printf("no\n");
} }

CodeForces 451C Predict Outcome of the Game的更多相关文章

  1. codeforces 451C. Predict Outcome of the Game 解题报告

    题目链接:http://codeforces.com/problemset/problem/451/C 题目意思:有3支球队(假设编号为1.2.3),总共要打 n 场比赛,已知已经错过这n场比赛中的 ...

  2. codeforces 258div2C Predict Outcome of the Game

    题目链接:http://codeforces.com/contest/451/problem/C 解题报告:三个球队之间一共有n场比赛,现在已经进行了k场,不知道每个球队的胜场是多少,如三个球队的胜场 ...

  3. Codeforces Round #258 (Div. 2) C. Predict Outcome of the Game 水题

    C. Predict Outcome of the Game 题目连接: http://codeforces.com/contest/451/problem/C Description There a ...

  4. CF451C Predict Outcome of the Game 水题

    Codeforces Round #258 (Div. 2) Predict Outcome of the Game C. Predict Outcome of the Game time limit ...

  5. CodeForces 157A Game Outcome

    A. Game Outcome time limit per test 2 seconds memory limit per test 256 megabytes input standard inp ...

  6. Codeforces Round #258 (Div. 2/C)/Codeforces451C_Predict Outcome of the Game(枚举)

    解题报告 http://blog.csdn.net/juncoder/article/details/38102391 题意: n场比赛当中k场是没看过的,对于这k场比赛,a,b,c三队赢的场次的关系 ...

  7. cf451C-Predict Outcome of the Game

    http://codeforces.com/problemset/problem/451/C A - Predict Outcome of the Game Time Limit:2000MS     ...

  8. Codeforces Round #258 (Div. 2)[ABCD]

    Codeforces Round #258 (Div. 2)[ABCD] ACM 题目地址:Codeforces Round #258 (Div. 2) A - Game With Sticks 题意 ...

  9. Codeforces Round #258 (Div. 2)

    A - Game With Sticks 题目的意思: n个水平条,m个竖直条,组成网格,每次删除交点所在的行和列,两个人轮流删除,直到最后没有交点为止,最后不能再删除的人将输掉 解题思路: 每次删除 ...

随机推荐

  1. 夺命雷公狗jquery---2层级选择器

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  2. InstallShield 下载安装

    好久没有写项目了,昨晚加班给一位淘客写了一个Winform小程序, 今早发布,然后发现微软将软件发布的这块内容交给了一个第三方插件 InstallShield, 不知道微软是何用意,我们还是看看如何安 ...

  3. C语言初学者代码中的常见错误与瑕疵(19)

    见:C语言初学者代码中的常见错误与瑕疵(19)

  4. Linode 优惠码

    Linode 是最好的vps $10的优惠码 Linode10,推荐码:bc7852453e280eee5a8ef045c5ab54ca091c8021 链接https://www.linode.co ...

  5. Qunar实习回顾总结

    今天教师节,陪老师喝点小酒,回来难得抽空,整理一下实习阶段的那些零零碎碎却很有用的知识. 1.关于页面中嵌入js代码 (1)有时为了精确控制代码执行顺序流,会将js代码嵌入到网页之中.优点:改变代码触 ...

  6. shell 在文件名后面添加特定数据

    for a in `ls mo-*`;do mv ${a%:} ${a%:}-1;done

  7. android 弹幕效果demo

    记得之前有位朋友在我的公众号里问过我,像直播的那种弹幕功能该如何实现?如今直播行业确实是非常火爆啊,大大小小的公司都要涉足一下直播的领域,用斗鱼的话来讲,现在就是千播之战.而弹幕则无疑是直播功能当中最 ...

  8. android log机制——输出log【转】

    转自:http://blog.csdn.net/tdstds/article/details/19084327 目录(?)[-] 在android Java code中输出log Logprintln ...

  9. Hadoop集群管理之内存管理

    1.内存 Hadoop为各个守护进程(namenode,secondarynamenode,jobtracker,datanode,tasktracker)统一分配的内存在hadoop-env.sh中 ...

  10. class id 区别

    [1].id是唯一的,一个元素只能有一个,不能重复class可以重复 <div> <img src="" width="100%"/> ...