P1233 木棍加工

#include
#include
#include
#include
using namespace std;
struct node
{
    int left,right;
};
node p[6000];
node s[6000];
int m;
bool cmp(node a,node b)
{
    return a.left>b.left;
}
int main()
{
    scanf("%d",&m);
    for(int k=1;k<=m;k++)
    {
        scanf("%d%d",&p[k].left,&p[k].right);
    }
    sort(p+1,p+m+1,cmp);
    int tot=0;
    for(int i=1;i<=m;i++)
    {
        int flag=0;
        int tmp;
        for(int j=1;j<=tot;j++)
        {
            if(s[j].left>=p[i].left&&s[j].right>=p[i].right)
            {
                if(flag==0)
                {
                    tmp=j;
                    flag=1;
                }
                else 
                {
                    if(s[j].left<=s[tmp].left&&s[j].right<=s[tmp].right)
                        tmp=j;
                }
            }
        }
        if(flag==0)
        {
            tot++;
            s[tot].left=p[i].left;
            s[tot].right=p[i].right;
        }
        else 
        {
            s[tmp].left=p[i].left;
            s[tmp].right=p[i].right;
        }
    }
    cout<     return 0;
 } 

你可能感兴趣的:(P1233 木棍加工)