zoukankan      html  css  js  c++  java
  • 校招真题练习031 三支球队比分(头条)

    三支球队比分(编程题1)

    题目描述
    有三只球队,每只球队编号分别为球队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”

    N = int(input())
    for i in range(N):
        ary = list(map(int,input().split()))
        n,k,d1,d2 = ary[0],ary[1],ary[2],ary[3]
        diff = n - k
        r1 = diff - (d1 + d2) - d2
        r1x = k - d1 - (d1 + d2)
        r2 = diff - d1 - d2
        r2x = k - (d1 - d2) - d1 if d1 >= d2 else k - (d2 - d1) - d2
        r3 = diff - d1 - (d1 - d2) if d1 >= d2 else diff - d2 - (d2 - d1)
        r3x = k - (d1 + d2)
        r4 = diff - d1 - (d1 + d2)
        r4x = k - (d1 + d2) - d2
        #1. 球队1 <= 球队2 <= 球队3
        if r1 >= 0 and r1 % 3 == 0 and r1x >= 0 and r1x % 3 == 0:
            print('yes')
        #2. 球队1 <= 球队2 >= 球队3
        elif r2 >= 0 and r2 % 3 == 0 and r2x >= 0 and r2x % 3 == 0:
            print('yes')
        #3. 球队1 >= 球队2 <= 球队3
        elif r3 >= 0 and r3 % 3 == 0 and r3x >= 0 and r3x % 3 == 0 :
            print('yes')
        #4. 球队1 >= 球队2 >= 球队3
        elif r4 >= 0 and r4 % 3 == 0 and r4x >= 0 and r4x % 3 == 0:
            print('yes')
        else:
            print('no')

    这题逻辑性很强,稍有不慎就可能出错。

    要判断已经完成的比赛数的特征和剩余比赛数的特征,并分四种情况分别计算。

    我感觉这道题目的描述不是很清楚,对于标红的那句描述:“已知球队1和球队2的比分相差d1分”而下面又给出条件“0 <= d1”,

    我读到这句话后认为是:“球队2比球队1多d1分”。但是题目的实际意思却是:可能球队1比球队2多d1分,也可能球队2比球队1多d1分,需要分情况讨论。

    至少这两种情况是不确定的,这就给答题者造成了不必要的干扰。所以这道题目,只能给个差评。

  • 相关阅读:
    iOS开发应用设置及用户默认设置【2、读取应用中的设置】
    iOS开发应用设置及用户默认设置【1、bundle的运用】
    iOS开发中的4种数据持久化方式【二、数据库 SQLite3、Core Data 的运用】
    iOS开发中的4种数据持久化方式【一、属性列表与归档解档】
    iOS开发编译报错、常见问题(实时更新)
    js window.location用法
    canvas 时钟
    java File处理
    servletjspEL 表达式
    Linux(centos 7)配置tomcat8、JDK1.8、lighttpd、ngnix、mysql
  • 原文地址:https://www.cnblogs.com/asenyang/p/11318323.html
Copyright © 2011-2022 走看看