好久没更新了
去武汉玩了几天
一回来就发博客,还不先点赞
原题链接
题目
2023 年第 19届亚运会即将在杭州召开,杭州已经做好准备欢迎全亚洲的观众一同参与亚运盛会了!
你正在开发一款跟亚运奖牌计算相关的 App。
给定两个国家的获奖情况,你的任务是计算这两个国家/地区的奖牌情况,并确定哪个国家/地区要排在奖牌榜的前面。
输入格式
输入第一行是一个正整数 N,表示总共有 N 条获奖记录。
接下来 N 行,每行描述一条记录,包含两个整数 Ci,Pi,其中 Ci=0,1;0 表示是第一个国家/地区,1 表示是第二个国家/地区;Pi=1,2,3,1 表示金牌,2 表示银牌,3 表示铜牌。
输出格式
首先输出两行,第一行是第一个国家/地区的金牌、银牌、铜牌获得数,用空格隔开;第二行是第二个国家/地区的奖牌获奖情况,要求与格式同第一个国家/地区。
最后一行,如果是第一个国家/地区排在前面,输出 The first win!,否则输出 The second win!。
排在前面的定义是:先比较金牌数,金牌数较大的排在前面;如金牌数相等,比较银牌数,银牌数较大的在前面;如金牌银牌数都相等,则比较铜牌数,铜牌数较大的在前面。
保证数据不存在奖牌数完全相同的情况。
数据范围
1≤N≤1000
输入样例:
15
0 1
0 2
0 3
0 1
0 1
0 2
0 3
1 3
1 3
1 3
1 3
1 2
1 1
1 1
1 1
输出样例:
3 2 2
3 1 4
The first win!
题目来源
| 难度:简单 |
| 时/空限制:0.4s / 64MB |
| 总通过数:803 |
| 总尝试数:1287 |
| 来源: |
这道题的核心是处理亚运会两个国家 / 地区的奖牌数据,并确定它们在奖牌榜上的排名,具体题目大意如下:
核心任务
1.统计奖牌数量:根据输入的获奖记录,分别计算两个国家 / 地区的金牌、银牌、铜牌数量。
2.确定排名顺序:按照 “金牌数→银牌数→铜牌数” 的优先级比较两个国家 / 地区的奖牌情况,排出先后顺序。
输入说明
第一行是一个正整数 N,表示总共有 N 条获奖记录。
接下来 N 行,每行包含两个整数 Ci 和 Pi:
Ci 表示国家 / 地区(0 为第一个国家 / 地区,1 为第二个国家 / 地区)。
Pi 表示奖牌类型(1 为金牌,2 为银牌,3 为铜牌)。
输出要求
1.先输出两行数据,分别为第一个国家 / 地区和第二个国家 / 地区的 “金牌数 银牌数 铜牌数”(用空格分隔)。
2.最后一行根据排名规则输出结果:
若第一个国家 / 地区排在前面,输出 The first win!。
否则输出 The second win!。
排名规则
优先级从高到低为:金牌数 → 银牌数 → 铜牌数。
即先比较金牌数,金牌多的排前面;若金牌数相同,比较银牌数;若银牌数也相同,比较铜牌数。
题目保证两个国家 / 地区的奖牌数不会完全相同,因此一定有明确排名。
示例说明
以输入样例为例,15 条记录中:
第一个国家获得 3 金、2 银、2 铜。
第二个国家获得 3 金、1 银、4 铜。
由于金牌数相同,比较银牌数(2 > 1),因此第一个国家排在前面,输出 The first win!。
在本题中,在 C++ 中,vector是一个动态数组容器,能够灵活地存储和管理元素。
在题目中,使用vector<vector<int>> q(2, vector<int>(3))创建了一个结构清晰的二维容器,非常适合存储两个国家的三种奖牌数量,方便后续统计和比较操作。
代码如下
#include <iostream>
#include <cstring>
#include <algorithm>
using namespace std;
int main()
{
ios::sync_with_stdio(false);
cin.tie(nullptr);//这两行是为了提高输入输出效率,关闭了 C++ 标准流与 C 标准流的同步。
int n;
cin >> n;
vector<vector<int>> q(2,vector<int>(3));
while (n -- ){
int c,p;
cin >> c >> p;
q[c][p-1]++;
}
for (size_t i = 0; i < q.size(); ++i) {
for (size_t j = 0; j < q[i].size(); ++j) {
cout << q[i][j] << ' ';
}
cout << '\n';
}
if(q[0]>q[1]) cout << "The first win!"<<endl;
else cout << "The second win!"<<endl;
return 0;
}
926

被折叠的 条评论
为什么被折叠?



