2024年睿康机器人caip本科组国赛RC-u2 谁进线下了? 题型:模拟

134 阅读3分钟

RC-u2 谁进线下了? 分数 20

Xepa Legends 是一个第一人称射击类大逃杀(“吃鸡”)游戏,每局游戏共有 20 支 3 人小队参加,最后获胜的队伍被称为“捍卫者”。

最近 Xepa Legends 举行了亚太地区南赛区的线上比赛,争夺 7 个前往德国曼海姆参加线下赛的资格,国内共有 14 支队伍参与到了其中。因为比赛十分激烈,直到最后谁进了线下仍有巨大的疑问。小 K 喜欢的国内知名战队 DreamTear 因其队内选手杀马特表现不佳,正好卡在出线分数前后,请你赶紧帮帮小 K,计算一下最后的分数情况,看看他喜欢的战队出线了没有吧!

Xepa Legends 的常规赛共有 30 支队伍参加,被分为三组,进行 N 轮比赛,每轮由三组中的两组组成 20 支队伍的参赛阵容,进行若干场比赛,最后每个队伍会获得一个当轮比赛的排名。

对于每轮比赛,队伍会根据排名获得一个在当轮比赛的赋分:

排名	分数
第一名	25 分
第二名	21 分
第三名	18 分
第四名	16 分
第五名	15 分
第六名	14 分
第七名	13 分
第八名	12 分
第九名	11 分
第十名	10 分
第十一名	9 分
第十二名	8 分
第十三名	7 分
第十四名	6 分
第十五名	5 分
第十六名	4 分
第十七名	3 分
第十八名	2 分
第十九名	1 分
第二十名	0 分
————————————————

image.png

输入样例

3
1 1
2 2
9 3
6 4
7 5
11 6
3 7
13 8
8 9
16 10
4 11
19 12
17 13
5 14
12 15
15 16
14 17
10 18
20 19
18 20
5 11
10 12
30 13
22 14
1 1
28 20
21 16
26 17
2 2
24 3
4 4
29 5
8 6
7 15
6 7
3 8
9 9
25 10
23 19
27 18
19 20
26 19
27 18
18 17
21 16
12 15
28 14
20 13
17 12
14 11
13 10
23 9
29 8
22 7
30 6
15 5
24 4
25 3
16 2
11 1
 

输出样例

1 50
2 42
11 39
24 34
16 31
6 29
9 29
25 28
29 27
3 25
4 25
8 25
13 22
30 21
7 20
15 19
22 19
5 15
17 15
14 12
23 12
10 10
12 10
19 8
20 8
21 8
28 6
26 4
27 4
18 3

思想

用哈希思想来做

code

#include<iostream>
#include <vector>
#include <algorithm>
using namespace std;


int a[30] = {0, 25, 21, 18, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0};

int b[40], flag[40];

struct node {
	int id, value;
	node(int x, int y) {
		id = x, value = y;
	}
	bool operator<(const node &b)const {
		if (value == b.value) {
			return id < b.id;
		}
		return value > b.value;
	}
};

int main() {
	int n;
	cin >> n;
	while (n--) {
		for (int i = 0; i < 20; i++) {
			int c, p;
			flag[c] = 1;
			cin >> c >> p;
			b[c] += a[p];
		}
	}


	vector<node> v;

	for (int i = 1; i < 31; i++) {
		if (flag[i] != 0)
			v.push_back(node(i, b[i]));
	}


	sort(v.begin(), v.end());

	cout << "here: " << endl;

	for (int i = 0; i < v.size(); i++) {
		cout << v[i].id << " " << v[i].value << endl;
	}

	return 0;
}

image.png