1 条题解
-
1
#include<bits/stdc++.h> using namespace std; struct hd { int bg,ed; }a[10010]; void kp(int l,int r) { if(l>=r)return; int mid=a[(l+r)/2].ed,i=l-1,j=r+1; while(i<j) { do i++;while(a[i].ed<mid); do j--;while(a[j].ed>mid); if(i<j) { hd t=a[j];a[j]=a[i];a[i]=t; } } kp(l,j); kp(j+1,r); } int main() { int n,ans=1,last=1; cin>>n; for(int i=1;i<=n;i++) { cin>>a[i].bg>>a[i].ed; } kp(1,n); for(int i=2;i<=n;i++) { if(a[i].bg>a[last].ed) { ans++; last=i; } } cout<<ans; return 0; }
- 1
信息
- ID
- 103
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 6
- 标签
- (无)
- 递交数
- 71
- 已通过
- 23
- 上传者