简单解析
2026-06-03 20:18:26
发布于:广东
2阅读
0回复
0点赞
#include <bits/stdc++.h>
using namespace std;
// 定义结构体,参数为开始时间和结束时间
struct node {
int s, e;
} a[1010];
// 排序,将结束时间早的排序在前面
bool cmp(node a, node b) {
return a.e < b.e;
}
int main() {
int n;
cin >> n;
for (int i = 0; i < n; i++) {
cin >> a[i].s >> a[i].e;
}
sort(a, a + n, cmp);
// 定义变量为活动结束时间,以第一个数结尾作为活动结束时间
int last = a[0].e;
// 活动的参加数量
int num = 1;
for (int i = 1; i < n; i++) {
// 当前活动的开始时间是大于等于活动结束时间
if (a[i].s >= last) {
// 活动选取数量+1,更新活动结束时间
num++;
last = a[i].e;
}
}
// 输出活动的参加数量
cout << num;
return 0;
}
这里空空如也







有帮助,赞一个