大模拟 Major
题目来源:2025 Wuhan University of Technology Programming Contest
比赛链接:Dashboard - 2025 Wuhan University of Technology Programming Contest - Codeforces
题目大意:
模拟 16 支队伍的瑞士轮比赛结果,规则太多,直接上题面吧。
Solution:
依题意模拟,将每一轮胜负场次相同的队伍放进一个 vector 里,按照规则排序。
总之就是很暴力。。。
不过好在这题打起来并没有看上去那么复杂,规划好每个子函数的功能,思路还是非常清晰的,很快就能码完。
(其实代码可以更短,但为了体现每一步清楚的思路,多打一点也没什么,模拟题就是要求稳)
Code:
#include<cstdio>
#include<cstring>
#include<vector>
#include<algorithm>
using namespace std;int win[20][20],race[20][20],vis[20],b[10];vector<int> t1,t2,t3;struct Team
{int winned,losed,sum;vector<int> rival;
}a[20];void battle(int x,int y)
{race[x][y] = race[y][x] = 1;if(win[x][y]) ++ a[x].winned,++ a[y].losed;else ++ a[x].losed,++ a[y].winned;a[x].rival.push_back(y);a[y].rival.push_back(x);return;
}void calc()
{for (int i = 1;i <= 16;++ i){int tmp = 0;