B3973 [语言月赛 202405] 小 S 大战小 Q 题解

· · 题解

Source & Knowledge

2024 年 5 月语言月赛,由洛谷网校入门计划/基础计划提供。

题目大意

给定两组人的战力,请你分别统计两组人的胜利场数,并比较大小,输出最终胜负结果。

题目分析

首先,我们需要将两组人的战力输入并存储下来,所以要开两个数组。这里我们用数组 a 表示小 S 一组人的战力,用数组 b 表示小 Q 一组人的战力:

int a[1000005], b[1000005];

然后,由于一共进行了 n 局比赛,所以要使用 for 循环来判断每一局的胜负。

对于第 i 局比赛,我们直接比较 a_ib_i 的大小。如果两方战力不同,则大的一方胜局 +1;否则两方都不加:

for(int i = 1; i <= n; i++) {
    if(a[i] > b[i]) A++;
    else if(a[i] < b[i]) B++;
}

最后将 AB 比较大小,根据大小情况输出答案即可:

cout << A << ' ' << B << '\n';
if(A > B) cout << "S\n";
else if(B > A) cout << "Q\n";
else cout << "Tie\n";

视频讲解