活动选择act0
#include<iostream> #include<algorithm> using namespace std; int b[1010],e[1010]; int t,temp; int main() { int n; cin>>n; for(int i=1;i<=n;i++) { cin>>b[i]>>e[i]; } for(int i=1;i<=n-1;i++) { for(int j=i+1;j<=n;j++) { if(e[i]>e[j]) { t=b[i]; b[i]=b[j]; b[j]=t; temp=e[i]; e[i]=e[j]; e[j]=temp; } } } int ans=1; int minn=e[1]; for(int i=2;i<=n;i++) { if(b[i]>minn) { ans++; minn=e[i]; } } cout<<ans; return 0; }
给结束时间排序,若下一个活动开始时间大于前一个的结束时间,ans++