3 条题解
-
4
#include<bits/stdc++.h> using namespace std; const int SB=1e6+10; struct line{ int a,b; }a[SB]; bool cmp(line x,line y){ return x.b<y.b; } int n,k=1,e; int main(){ system("color 2"); cin>>n; for(int i=1;i<=n;i++)cin>>a[i].a>>a[i].b; sort(a+1,a+n+1,cmp); e=a[1].b; for(int i=2;i<=n;i++){ if(e<=a[i].a){ k++; e=a[i].b; } } cout<<k; return 0; } -
1
已AC
#include<bits/stdc++.h> using namespace std; const int N=1e6+10; const int INF=0x3f3f3f3f; struct xd{ int a,b; }a[N]; int n,ans=1,last; int cmp(xd a1,xd a2){ return a1.b<a2.b; } int main(){ cin>>n; for(int i=1;i<=n;i++){ cin>>a[i].a>>a[i].b; } sort(a+1,a+n+1,cmp); last=a[1].b; for(int i=2;i<=n;i++){ if(a[i].a>=last){ ans++; last=a[i].b; } } cout<<ans; return 0; } -
1
骗分过样例,暴力出奇迹。
爆搜挂着机,打表出省一。
贪心题目
#include <bits/stdc++.h> using namespace std; const int N=1000001; struct node{ int begin,end; }a[N]; bool cmp(node x,node y){ return x.end<y.end; } int n,ans,last; int main(){ scanf("%d",&n); for(int i=1;i<=n;i++){ scanf("%d%d",&a[i].begin,&a[i].end); } sort(a+1,a+n+1,cmp); for(int i = 1; i <= n; i ++ ){ if(a[i].begin>=last){ ++ans; last=a[i].end; } } printf("%d",ans); return 0; }
- 1
信息
- ID
- 354
- 时间
- 1000ms
- 内存
- 512MiB
- 难度
- 8
- 标签
- 递交数
- 250
- 已通过
- 43
- 上传者