此题讲解
2026-04-14 22:00:44
发布于:北京
10阅读
0回复
0点赞
第一步:定义
int n;
int ma=0,sum=0;//最大和过程中最大
int m=0;//最后一次时间
struct stu{
int x,y;
}s[10010];//定义结构体
输入就不讲了
第二步:排序
sort(s+1,s+n+1,cmp);//sort排序
bool cmp(stu a,stu b){
if(a.y!=b.y){
return a.y<b.y;
}else{
return a.x>b.x;
}
}//结构体排序
第三歩:计算
for(int i=1;i<=n;i++){
sum=0;
for(int j=i;j<=n;j++){
if(s[j].x>=m){
sum++;
m=s[j].y;
}
}
ma=max(sum,ma);//别忘了判断
}
最后不要忘了输出
cout<<ma;//输出
看完点赞好习惯
这里空空如也

有帮助,赞一个