【编程题目 | 100分】足球比赛排名 [ 2021 Q1 考试题 ]


时间限制:C/C++ 1000ms | 其他语言:2000ms
空间限制:C/C++ 262144K,其他语言:524288K
64bit IO Format:%lld


本题可使用本地IDE编码,不能使用本地已有代码。

无跳出限制,编码后请点击”保存并提交“按钮进行代码提交。


题目描述

足球比赛采用双循环赛制(即任意两队之间分主客场进行两场比赛),胜平负分别得分3、1、0分。

设计一个足球比赛自动排名系统,以数组形式输入比赛信息,如String[] str = {“a—b 2:1″,”a—c 3:4”}。

假设队伍名为a-z的26个英文字母,比赛球队最多26只。

输出各个参赛球队的积分并由高到低排名(积分相同的按照球队名进行字典序排序)。
3:0
1:1

输入描述

输入的每一行代表一场比赛的比分(每场比分的2个数值为0~9之间,即大于等于0,小于等于9),队伍之间以”-“分隔,比分之间以”:”分隔,空行为输入结束。

输入保障正确,每两个队伍之间有主客场两场比赛,不多也不少,不需要异常判断。

输出描述

输出各个参赛球队的积分并由高到低排名(积分相同的按照球队名进行字典序排序)。

输出结果中,队伍之间以”,”分隔。

示例 1  输入输出示例仅供调试,后台判题数据一般不包含示例

输入

a-b 3:0
b-a 1:1

输出

a 4,b 1

说明

a-b 3:0,则a积3分,b积0分;

b-a 1:1,则a积1分,b积1分。

因此最终a积4分,b积1分。


示例 2 输入输出示例仅供调试,后台判题数据一般不包含示例

输入

a-b 3:0
a-c 2:1
b-a 1:1
c-a 0:1
b-c 4:3
c-b 2:2


代码实现


C++


剩余50%内容,订阅会员后查看


隐藏内容

此处内容需要权限查看

  • 普通用户特权:11金币
  • 会员用户特权:免费
  • 永久会员用户特权:免费推荐
会员免费查看

JAVA


import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.PrintWriter;
import java.util.Arrays;
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(new BufferedInputStream(System.in));
        PrintWriter out = new PrintWriter(new BufferedOutputStream(System.out));

剩余50%内容,订阅会员后查看


隐藏内容

此处内容需要权限查看

  • 普通用户特权:11金币
  • 会员用户特权:免费
  • 永久会员用户特权:免费推荐
会员免费查看