首页 > 试题广场 >

编程题1

[编程题]编程题1
  • 热度指数:26146 时间限制:C/C++ 2秒,其他语言4秒 空间限制:C/C++ 64M,其他语言128M
  • 算法知识视频讲解
有三只球队,每只球队编号分别为球队1,球队2,球队3,这三只球队一共需要进行 n 场比赛。现在已经踢完了k场比赛,每场比赛不能打平,踢赢一场比赛得一分,输了不得分不减分。已知球队1和球队2的比分相差d1分,球队2和球队3的比分相差d2分,每场比赛可以任意选择两只队伍进行。求如果打完最后的 (n-k) 场比赛,有没有可能三只球队的分数打平。



输入描述:
第一行包含一个数字 t (1 <= t <= 10)
接下来的t行每行包括四个数字 n, k, d1, d2(1 <= n <= 10^12; 0 <= k <= n, 0 <= d1, d2 <= k)


输出描述:
每行的比分数据,最终三只球队若能够打平,则输出“yes”,否则输出“no”
示例1

输入

2
3 3 0 0
3 3 3 3

输出

yes
no

说明

case1: 球队1和球队2 差0分,球队2 和球队3也差0分,所以可能的赛得分是三只球队各得1分
case2: 球队1和球队2差3分,球队2和球队3差3分,所以可能的得分是 球队1得0分,球队2得3分, 球队3 得0分,比赛已经全部结束因此最终不能打平。
头像 Louie.Ye
发表于 2021-03-20 17:43:48
1. 思路 先讲讲自己的思路:1)题目意思就是说存在不平衡的情况嘛,那方法就是解决不平衡,咋办呢,通过剩下的场数将平衡补正回来,能补正就yes,不能就no。但跑了之后发现只过了一组测试数据,那肯定还有自己没考虑到的。于是写恢复平衡的其他条件,但发现了一个问题。两个球队的分数差没有说分数那个高,也就 展开全文
头像 牛客题解官
发表于 2020-06-05 18:24:36
题解 难度:简单 知识点:数学问题 分析: 在本题中,踢赢比赛得一分,输了不等分也不见分,那么(1)总分一定等于n;同时要想是平局n%3=0;(2)还没有踢的比赛(n-k),要能弥补(d1+d2)的分数差,即n-k≥d1+d2;(3)满足以上两点的情况时,根据差值情况,有4种情况,如下:“1队> 展开全文
头像 pursue.Love
发表于 2023-01-14 18:13:06
import java.util.Scanner; /**不考虑k局前的比分,只考虑剩余的局数和队伍之间的差值能否摊平 */ /**输入里面数字过大,超过int类型,发生溢出 */ // public class Main { // public static void main(Str 展开全文
头像 但行好事-莫问前程
发表于 2021-07-15 11:50:10
对MemoryLimitExceeded大佬公式解法进行了一个小小的优化,将求a,b,c值的公式进行了精简,代码看起来更加的简洁,易懂: 思路:穷举d1,d2的正负号,求出a,b,c的值,解决不平衡的情况,剩下的都是平衡的。代码: #include<iostream> using nam 展开全文
头像 Dasheverless
发表于 2021-08-20 23:19:24
思路 枚举d1和d2的四个组合,由于代码存在重复性,所以可以写成一个函数进行检验。题目不难重在理清思路 代码 #include <bits/stdc++.h> using namespace std; typedef long long ll; using vi = vector< 展开全文
头像 17c89
发表于 2023-12-02 12:50:26
import java.util.Scanner; public class Main { public static void main(String[] args){ Scanner in = new Scanner(System.in); while 展开全文
头像 yqwan0403
发表于 2022-06-22 02:08:43
#include #include #include<math.h> using namespace std; int main() { int N,loop,loopc; cin>>N; for (loop=0;loop<N;loop++) { long lo 展开全文
头像 业精于勤110
发表于 2022-07-21 17:07:22
自己想了很久,不会,看了下讨论里的思路,ac 核心: 根据a、b、c三支队伍的得分多少d1,d2,可以分为4种情况 我们不确定那种情况是可以达到要求的,所以需要遍历4种情况 每种情况都可以用公式求解出对应的abc的值,也就是三队各打了多少场比赛 在abc时,可以根据是否能整除?结果是否大于0?两个 展开全文
头像 猿人代码
发表于 2023-08-24 11:15:32
为覅u好i放假哦哦破圣诞快乐复合函数的洛克菲勒开始训练KFC拉萨的话覅去卢卡斯克拉流量控制形成了凯撒会离开
头像 贪吃的迪恩顶呱呱
发表于 2024-05-10 19:19:10
参考了大佬的代码 #include <iostream> using namespace std; int main() { long long t; while (cin >> t) { long long n, k, d1, d2; 展开全文