```cpp
#include <bits/stdc++.h>
using namespace std;
struct node{
int x;
int y;
}f[1000005];
int n;
bool cmp(node a,node b){
return a.y<b.y;
}
int main(){
cin>>n;
for(int i=1;i<=n;i++){
cin>>f[i].x>>f[i].y;
}
sort(f+1,f+n+1,cmp);
int t=f[1].y,ans=1;
for(int i=1;i<=n;i++){
if(f[i].x>=t){
ans++;
t=f[i].y;
}
}
cout<<ans;
return 0;
}
```
by 聂耘远Nyy @ 2022-10-07 11:26:18
hack:
```
ensure(fun, "3 0 2 0 4 0 6", 1);
```
by y_kx_b @ 2022-12-21 17:30:51
@[hansiqi2011](/user/742163)
1. 思路有问题,请看题解学习贪心做法。
2. `cover` 的判断有点问题,如果碰到这么两个比赛 `(1 4),(2 3)` `cover` 会判 `false`。
另外几个建议:
3. 逻辑运算符什么的加括号,除非你熟知运算优先级**并且保证不会出错**(应该大部分人都做不到吧qwq)。
4. 自己测试多测几组,这个需要自己慢慢领悟()
by y_kx_b @ 2022-12-21 17:39:14