本文主要是介绍算法2-足球比赛出线问题,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
足球比赛,一个小组有8支球队进行单循环赛,胜者积3分,平则算法同积1分,负则不积分,规定积分最高的4支球队出线,则出线至少需要多少分?未出线最多可能有多少分?
思路:
循环赛的概念是每一支球队会与其他所有球队各进行一场比赛。8支球队共进行8*7/2=28场比赛。
1、出线至少需要多少分?
赢得比赛积分最快,打平积分增长慢,输掉比赛积分不变。如果想以最少的积分赢,着眼点应该在第四名上。对于第四名,如果想要满足以最少的积分赢,那么他应该输给比他强的人(与第一名、第二名、第三名比赛不积分),与所有不如自己的人打平(与第五名、第六名、第七名、第八名比赛,每场积一分),这样,第四名得分最少为4分
2、未出线最多可能有多少分?
考虑第四名与第五名并列,积分相同(通过其他方式角逐第四名)。这样有五个强队(前五名),三个弱队(后三名),假设后三名的球队与前五名的球队比赛时,都输给前五名,这样,前五名的每一支球队通过与后三名的球队比赛都获得3(场)*3(分)=9分,前五名球队的比赛,每个球队会参加4场比赛,假设,每个球队都赢两场,负两场,那么前五只球队在这个过程中每人获得2(场)*3(分)=6(分),加上与后三名比赛积分6+9=15分,前五名并列(通过其他方式角逐名次),未出线最多获得15分
这篇关于算法2-足球比赛出线问题的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!