CF451C.Predict Outcome of the Game

普及+/提高

通过率:0%

时间限制:2.00s

内存限制:256MB

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

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 k games. 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 _d_1 and that of between second and third team will be _d_2.

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.

一场足球锦标赛共有 nn 场比赛,有三支队伍参加。目前已有 kk 场比赛结束。

你是一位狂热的足球迷,但最近你错过了全部这 kk 场比赛。幸运的是,你还记得朋友对这 kk 场比赛结果所作的一个猜测:朋友并未告诉你每支队伍确切的胜场数,而是猜测:第一支队伍与第二支队伍的胜场数之差的绝对值为 d1d_1,第二支队伍与第三支队伍的胜场数之差的绝对值为 d2d_2。

你不希望任何一支队伍最终赢得整个锦标赛,即:在全部 nn 场比赛结束后,三支队伍的胜场数必须完全相等。因此你想知道:是否存在一种符合朋友猜测的、合法的比赛结果安排,使得最终没有任何一支队伍获胜?

注意:每场比赛的结果不能为平局,只能是一方获胜、另一方失利。

输入格式

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, _d_1, _d_2 (1 ≤ n ≤ 1012; 0 ≤ k ≤ n; 0 ≤ _d_1, _d_2 ≤ k) — data for the current test case.

输入的第一行包含一个整数,表示测试用例的数量 tt(1 ≤ t ≤ 1051 \leq t \leq 10^5)。

接下来的 tt 行中,每行包含四个以空格分隔的整数 nn、kk、d1d_1、d2d_2(1 ≤ n ≤ 10121 \leq n \leq 10^{12};0 ≤ k ≤ n0 \leq k \leq n;0 ≤ d1, d2 ≤ k0 \leq d_1, d_2 \leq k),表示当前测试用例的数据。

输出格式

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).

对于每个测试用例,输出一行,如果有可能使锦标赛没有获胜者,则输出“yes”(不带引号),否则输出“no”(不带引号)。

输入输出样例

  • 输入#1

    5
    3 0 0 0
    3 3 0 0
    6 4 1 0
    6 3 3 0
    3 3 3 2

    输出#1

    yes
    yes
    yes
    no
    no

说明/提示

Sample 1. There has not been any match up to now (k = 0, _d_1 = 0, _d_2 = 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 _d_1 = 0 and _d_2 = 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 _d_1 = 1, _d_2 = 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).

样例 1:截至目前尚未进行任何比赛(k=0k = 0,d1=0d_1 = 0,d2=0d_2 = 0)。若接下来进行三场比赛(1–2、2–3、3–1),且每支队伍各赢一场,则最终每支队伍均恰好有 1 场胜利。

样例 2:你错过了全部三场比赛(k=3k = 3)。由于 d1=0d_1 = 0 且 d2=0d_2 = 0,而存在一种进行三场比赛且不产生锦标赛冠军的方式(如前一样例所述),因此答案为“是”。

样例 3:你错过了 4 场比赛,且 d1=1d_1 = 1,d2=0d_2 = 0。这四场比赛可以是:1–2(2 获胜)、1–3(3 获胜)、1–2(1 获胜)、1–3(1 获胜)。此时第一支队伍有 2 场胜利,第二支队伍有 1 场胜利,第三支队伍有 1 场胜利。剩余两场比赛可以是:1–2(2 获胜)、1–3(3 获胜)。最终,所有队伍的获胜场数相等(均为 2 场胜利)。

输入解题思路,AI测评打分。不知道怎么写?

首页