HDOJ 2037 不相交区间的最大个数

贪心法,看了 DISCUSS 后写的, 以前听过大牛的讲解,这是第一道题。

# include <stdio.h>

# include <stdlib.h>



# define N 105



int n;

int t[N][2];



int cmp(const void *x, const void *y)

{

    return *(int *)x > *(int *)y ? 1:-1;

}



int main()

{

    int i, c, tmp;

    

    while (1)

    {

        scanf("%d", &n);

        if (n == 0) break;

        for (i = 0; i < n; ++i) scanf("%d%d", &t[i][1], &t[i][0]);

        qsort(t, n, sizeof(t[0]), cmp);

        

        c = 1;

        tmp = t[0][0];

        for (i = 0; i < n; ++i)

            if (t[i][1] >= tmp)

            {

                ++c;

                tmp = t[i][0];

            }

        

        printf("%d\n", c);

    }

    

    return 0;

}

//

你可能感兴趣的:(OJ)