编程介的小学生 2017-11-16 15:39 采纳率: 20.5%
浏览 645
已结题

Give the rank

Problem Description
As we all know, after a series of international contests, the leaders are wild about ranking the schools to appraise the development of the ACM of our country. There are a lot of schools attend the contests, and each school has some teams or none, and each team may get some prizes of not. There are three kinds of prizes of the contests: gold, silver and copper, and gold is the best one and silver is better than copper. Now we get the result of all the schools, you should rank them, and print them according to the below rules:

1) We define the ranks between any two schools (or two teams) as the follow rules: firstly we compare the number of gold prizes, and the school is better whose number of gold prizes is larger, and if the numbers of gold prize are the same then compare the silver prizes and then copper prizes. If all the numbers of gold prizes and silver prizes and copper prizes are the same, then we just say the two school (or two teams) are the same good, and their ranks are the same, you have to obey the lexicographic orders when you print them, though.

2) We define the rank number as the following rule: if there are three schools (or three teams), A is as good as B, but better than C. So the rank number of A and B is 1 (the rank number starts from 1), and C is 3, we omit the rank number 2. If more, the rule goes on.

Input
There are T cases come, and the first line contains just one integer T.
In each case of following T ones, there is an integer N indicates that there are N following lines describe the information of the encouragement.
Each line contains fours strings: the name of the school, the name of the team, the kind of the prize ("none" means the team gets no prize), and the contest hosting place. Any string is no longer than fifty characters. T<=10, N <=200, and the school number will not be beyond N, and the team number of each school will not exceed 100.

Output
For each case, firstly you show the number of school, and then show the rank list as the format: the school name, the rank number, and the numbers of gold prize and silver prize and copper prize.
Then you print the teams' information: the team name, the rank number, the numbers of gold prize and silver prize and copper prize.
After printing the rank list, firstly you print the number of the contests, and then you have to print the contest information: the name of hosting place (shown lexicographically), the number of gold prize, and the number of silver prize and copper. You can assume all the data is correct.

Sample Input
1
4
aaa mayday gold nanjing
bbb let's_go silver beijing
ccc how_do_you_do??? none xihua
aaa acm.hdu.edu.cn copper xihua

Sample Output
Case 1:


school number: 3
aaa 1 1 0 1
team number: 2
mayday 1 1 0 0
acm.hdu.edu.cn 2 0 0 1
bbb 2 0 1 0
team number: 1
let's_go 1 0 1 0
ccc 3 0 0 0
team number: 1
how_do_you_do??? 1 0 0 0


contest number: 3
beijing 0 1 0
nanjing 1 0 0
xihua 0 0 1


  • 写回答

1条回答 默认 最新

  • lujianbiao711 2018-08-23 03:51
    关注

    C++

    class Solution {
    public:
    vector findRelativeRanks(vector& nums) {
    vector arr = nums;//复制一个相同的数组
    auto cmp = {return a > b;};
    sort(arr.begin(), arr.end(), cmp);//将arr排序
    vector result(nums.size());
    //从nums中寻找与arr[j]相同元素,在result中对应位置赋值为j+1, j=0,1,2时特殊处理
    for (int i = 0; i < nums.size(); i++) {
    for (int j = 0; j < nums.size(); j++) {
    if (nums[i] == arr[j]) {
    switch(j) {
    case 0:
    result[i] = "Gold Medal";
    break;
    case 1:
    result[i] = "Silver Medal";
    break;
    case 2:
    result[i] = "Bronze Medal";
    break;
    default:
    result[i] = to_string(j + 1);
    break;
    }
    break;
    }
    }
    }
    return result;
    }
    };

    评论

报告相同问题?

悬赏问题

  • ¥15 基于卷积神经网络的声纹识别
  • ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
  • ¥100 为什么这个恒流源电路不能恒流?
  • ¥15 有偿求跨组件数据流路径图
  • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值
  • ¥15 我想咨询一下路面纹理三维点云数据处理的一些问题,上传的坐标文件里是怎么对无序点进行编号的,以及xy坐标在处理的时候是进行整体模型分片处理的吗
  • ¥15 CSAPPattacklab
  • ¥15 一直显示正在等待HID—ISP
  • ¥15 Python turtle 画图
  • ¥15 stm32开发clion时遇到的编译问题