碼蹄集OJ-活動安排
#include<bits/stdc++.h>
using namespace std;
struct MOOE
{int s,e;
};
bool compare(const MOOE&a,const MOOE&b)
{return a.e<b.e;
}
int main( )
{int n;cin>>n;vector<MOOE>a(n);for(int i=0;i<n;i++){cin>>a[i].s>>a[i].e;}sort(a.begin(),a.end(),compare);int t=0;int result=0;for(const MOOE&v:a){if(v.s>=t){result++;t=v.e;}}cout<<result<<endl;return 0;
}
要想安排最多的活動,就要讓結束時間越早越好而且還能接上后面的活動。
定義結構體變量存儲兩個成員,一個是開始時間,一個是結束時間。定義一個結構體類型的數組,讓這個數組按結束時間由小到大的順序排序,遍歷整個數組,如果遍歷到的數組值大于上一次遍歷數組的結束時間,結果加1。