选择合适的贪心策略

alt ##alt ##以活动结束的时间作为贪心的策略,也就是局部最优解,从而找到全局最优解

include <bits/stdc++.h>
using namespace std;
struct post//选择用结构体来表示起始和结束时间
{
    int s;
    int e;
}a[101];
int cmp(const post& x, const post& y)//结构体排序!!
{
    return x.e < y.e;
}
int main()
{
    while (1)
    {
        int n;
        int ans;
        cin >> n;
        ans = n;
        if (n == 0)
            break;
        for (int i = 1; i <= n; i++)
            cin >> a[i].s >> a[i].e;
        sort(a + 1, a + 1 + n, cmp);
        for (int i = 1; i <= n; i++)//这里略显麻烦,而且容易出bug
        {
            int j = i;
            while (a[j + 1].s < a[i].e && j+1 <= n)
            {
                ans--;
                j++;
            }
            i = j;
        }
        cout << ans << endl;
    }
    return 0;
}