0
已解决
50分
#include <iostream>
#include <algorithm>
using namespace std;
struct w{
int x,y;
}a[110];
bool cmp(w a,w b){
if(a.x!=b.y)return a.x<b.y;
return a.y<b.y;
}
int main(){
int n,cnt=0;
cin>>n;
for(int i=1;i<=n;i++)cin>>a[i].x>>a[i].y;
sort(a+1,a+1+n,cmp);
for(int i=1;i<n;i++){
if(a[i].y<a[i+1].x){
cnt++;
}
}
cout<<cnt+1;
return 0;
}
李素妍在2021-03-10 21:36:16追加了内容
1
0
0
排序规则改一下
if(a.y!=b,y) return a.y<b.y;
return a.x<b.x;
第二个循环改成
int end=-1;
for(int i=1;i<=n;i++){
if(a[i].x>end){
end=a[i].y;
cnt++;
}
}
最后输出cnt
0


