• codeforces 258div2C Predict Outcome of the Game


    题目链接:http://codeforces.com/contest/451/problem/C

    解题报告:三个球队之间一共有n场比赛,现在已经进行了k场,不知道每个球队的胜场是多少,如三个球队的胜场分别为a,b,c,那么已知的是:

    |a - b | = d1

    |b -c | = d2

    输入n,k,d1,d2,要你判断有没有可能让三个球队最后的胜场数相同。

    只要分四种情况就可以求出a,b,c分别是多少,然后判断是不是满足:

    n % 3 == 0

    a,b,c都小于n / 3

    a >= 0 && b >= 0 && c >= 0

     1 #include<cstdio>
     2 #include<cstring>
     3 #include<iostream>
     4 #include<algorithm>
     5 using namespace std;
     6 typedef long long INT;
     7 INT n,k,d1,d2;
     8 
     9 int judge(INT a,INT b,INT c)
    10 {
    11     if(n % 3 != 0) return 0;
    12     if(a < 0 || b < 0 || c < 0) return 0;
    13     if(a + b + c > k) return 0;
    14     INT temp = n / 3;
    15     if(a > temp || b > temp || c > temp) return 0;
    16     return 1;
    17 }
    18     
    19 int main()
    20 {
    21     int T;
    22     scanf("%d",&T);
    23     while(T--)
    24     {
    25         scanf("%lld%lld%lld%lld",&n,&k,&d1,&d2);
    26         if(n % 3 != 0)
    27         {
    28             printf("no
    ");
    29             continue;
    30         }
    31         int flag = 0;
    32         INT t = (k + 2 * d1 + d2),a;
    33         if(t % 3 == 0)
    34         {
    35             a = t / 3;
    36             if(judge(a,a-d1,a-d1-d2)) flag = 1;
    37         }
    38         t = (k + 2 * d1 - d2);
    39         if(t % 3 == 0)
    40         {
    41             a = t / 3;
    42             if(judge(a,a-d1,a-d1+d2)) flag = 1;
    43         }
    44         t = (k - 2 * d1 + d2);
    45         if(t % 3 == 0)
    46         {
    47             a = t / 3;
    48             if(judge(a,a+d1,a+d1-d2)) flag = 1;
    49         }
    50         t = (k - 2 * d1 - d2);
    51         if(t % 3 == 0)
    52         {
    53             a = t / 3;
    54             if(judge(a,a+d1,a+d1+d2)) flag = 1;
    55         }
    56         printf(flag? "yes
    ":"no
    ");
    57     }
    58     return 0;
    59 }    
    View Code
  • 相关阅读:
    体检前注意事项
    SSO之CAS单点登录详细搭建教程
    如何通过session控制单点登录
    谈谈防止Ajax重复点击提交
    js判断是移动端还是pc端
    HttpClient通过GET和POST获取网页内容
    HttpClient 4.x 执行网站登录并抓取网页的代码
    360每日自动签到,领取积分 (java httpclient4.x)
    Java @override报错的解决方法
    无开发经验,初学python
  • 原文地址:https://www.cnblogs.com/xiaxiaosheng/p/3868106.html
Copyright © 2020-2023  润新知