POJ 2437(贪心)


#include
#include
#include
#include
#include
#include
#include
#include
using namespace std;

const int INF = 0x3f3f3f3f;

struct node
{
    int start;
    int end;
}mud[10005];

bool cmp(node a,node b)
{
    return a.start < b.start;
}
int main()
{
    int N, L;
    while (cin >> N >> L)
    {
        for (int i = 1; i <= N; i++)
        {
            cin >> mud[i].start >> mud[i].end;
        }
        sort(mud + 1, mud + N+1, cmp);
        int Count = 0;
        int route = mud[1].start;
        for (int i = 1; i <= N; i++)
        {
            if (route>mud[i].end)
            {
                continue;
            }
            else if (route > mud[i].start)
            {
                while (route < mud[i].end)
                {
                    Count++;
                    route += L;
                }
            }
            else
            {
                route = mud[i].start;
                while (route < mud[i].end)
                {
                    Count++;
                    route += L;
                }
            }       
        }
        cout << Count << endl;
    }   
    return 0;
}

你可能感兴趣的:(ACM_POJ,贪心)