C++ 使用 PAIR 解决小朋友得分问题
使用 PAIR 结构体解决小朋友得分问题
问题描述
N个小朋友坐在教室里,每个小朋友有一个行号和一个列号。有多少人的行号和列号都小于等于甲,甲就是多少分。请你按输入顺序输出每个人的得分。限定必须用 PAIR 读入。
输入
4
1 3
3 1
2 2
4 4
输出
0
0
0
3
代码实现
#include <iostream>
#include <utility> // 头文件中包含了 PAIR
using namespace std;
int main() {
int n;
cin >> n;
pair<int, int> p[n]; // 定义一个长度为n的 PAIR 数组
for (int i = 0; i < n; i++) {
cin >> p[i].first >> p[i].second; // 依次读入行号和列号
}
for (int i = 0; i < n; i++) {
int score = 0;
for (int j = 0; j < n; j++) {
if (p[j].first <= p[i].first && p[j].second <= p[i].second) {
score++; // 满足条件则得分+1
}
}
cout << score << endl; // 输出得分
}
return 0;
}
代码分析
- 引入头文件: 使用
#include <utility>引入pair结构体。 - 定义 PAIR 数组:
pair<int, int> p[n];定义一个名为p的长度为n的 PAIR 数组,用于存储每个小朋友的行号和列号。 - 输入数据: 使用循环遍历每个小朋友,输入行号和列号,并存储在
p数组中。 - 计算得分: 对于每个小朋友,使用双重循环遍历所有小朋友,如果当前小朋友的行号和列号都小于等于遍历到的其他小朋友,则得分加 1。
- 输出得分: 输出每个小朋友的得分。
总结
本代码使用 PAIR 结构体简洁地解决了小朋友得分问题。PAIR 结构体方便存储和访问小朋友的行号和列号,代码逻辑清晰易懂。
原文地址: https://www.cveoy.top/t/topic/mx4H 著作权归作者所有。请勿转载和采集!