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. java总结第三次//类和对象2、3

    四.类和对象2 主要内容:Java类的继承.方法的重写.覆盖.访问控制.super 关键字.多态性及其应用 1.继承 要求:Java只支持单继承,不允许多重继承 一个子类只能有一个父类 一个父类可以派 ...

  2. Java简单数据类型转换

      1. Integer<---String   (1) Integer x = new Integer(Integer.parseInt(String)); 2. Integer<--- ...

  3. dom4j读写XML文件

    XML文件格式: <?xml version="1.0" encoding="UTF-8"?> <company> <employ ...

  4. [转]clrDateTime to Dynamics AX TransDate

    转自:https://community.dynamics.com/ax/f/33/t/30791.aspx TransDate是一种只有日期,没有时间的类型 utcDateTime=Global:: ...

  5. 怎么样 解决nginx负载均衡的session共享问题呢

    php服务器有多台,用nginx做负载均衡,这样同一个IP访问同一个页面会被分配到不同的服务器上,如果session不同步的话,就会出现很多问题,比如说最常见的登录状态,下面提供了几种方式来解决ses ...

  6. js词法作用域规则

    function foo() {console.log( a ); // 2不是3} function bar() {var a = 3;foo();} var a = 2;bar(); js中的作用 ...

  7. java中方法的参数传递机制(值传递还是引用传递)

    看到一个java面试题: 问:当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递?  答:是值传递.Java 编程语言只有值传递参 ...

  8. 连接无线设备——与Wi-Fi直接连接

    原文链接:http://developer.android.com/intl/zh-CN/training/connect-devices-wirelessly/wifi-direct.html 目录 ...

  9. fg、bg、jobs、&、ctrl + z

    原文地址:fg.bg.jobs.&.ctrl + z 作者:china-yuan http://blog.chinaunix.net/uid-22433093-id-1774026.html ...

  10. CSU 1114 平方根大搜索 java大数

    1114: 平方根大搜索 Time Limit: 5 Sec  Memory Limit: 128 MBSubmit: 49  Solved: 23[Submit][Status][Web Board ...