POJ 2437 Muddy roads 贪心

POJ 2437 Muddy roads 贪心

思路:

四个字:能放就放。。

#include  < stdio.h >
#include 
< stdlib.h >

int  arr[ 10032 ][ 2 ], N, L, ans;

int  cmp( const   void   * a,  const   void   * b)
{
    
return *(int *)a - *(int *)b;
}


inline 
int  max( int  a,  int  b)
{
    
return a > b ? a : b;
}


int  main()
{
    
int i, p, c;

    freopen(
"e:\\test\\in.txt""r", stdin);

    scanf(
"%d%d"&N, &L);
    
for (i = 0; i < N; i++)
        scanf(
"%d%d"&arr[i][0], &arr[i][1]);
    qsort(arr, N, 
sizeof(arr[0]), cmp);

    
for (i = p = 0; p < N; ) {
        i 
= max(i, arr[p][0]);
        c 
= (arr[p][1- i + L - 1/ L;
        i 
+= c * L;
        ans 
+= c;
        
while (p < N && i >= arr[p][1])
            p
++;
    }


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

    
return 0;
}

你可能感兴趣的:(POJ 2437 Muddy roads 贪心)