zoukankan      html  css  js  c++  java
  • hdu 1051 Wooden Sticks

    简单贪心。

    将所给数据从小到大进行排序,将所给零件的两数据均小于还有一个零件的两数据,看做一个集合。

    最后输出集合个数。

    #include<iostream>
    #include<stdlib.h>
    #include<stdio.h>
    #include<string.h>
    #include<algorithm>
    
    using namespace std;
    
    struct www
    {
        int x,y;
    }s[5005];
    
    int yy[5005],a,b;
    bool cmp(www q,www u)
    {
        if(q.x==u.x)
            return q.y<u.y;
        else
            return q.x<u.x;
    }
    
    void show(int o)
    {
        int j,d,e;
    	d=s[o].x;
    	e=s[o].y;
        for(j=o+1;j<b;j++)
        {
            if(!yy[j])
            {
                if(d<=s[j].x&&e<=s[j].y)
                {
                    yy[j]=1;
                    d=s[j].x;
    				e=s[j].y;
                }
            }
        }
    }
    
    int main()
    {
        int c,i,sum;
        scanf("%d",&a);
        while(a--)
        {
            scanf("%d",&b);
            sum=0;
            memset(yy,0,sizeof(yy));
            for(i=0;i<b;i++)
            {
                scanf("%d %d",&s[i].x,&s[i].y);
            }
            sort(s,s+b,cmp);
            for(i=0;i<b;i++)
            {
                if(yy[i]==0)
                {yy[i]=1;
                show(i);
                sum++;}
            }
            printf("%d
    ",sum);
        }
        return 0;
    }
    

  • 相关阅读:
    HDU
    HDU
    HDU
    HDU
    HDU
    P6146 [USACO20FEB]Help Yourself G 组合数学 DP
    CodeForces
    POJ
    【网络学习】集线器,交换机,路由器的作用
    【Python学习】深拷贝和浅拷贝
  • 原文地址:https://www.cnblogs.com/wzzkaifa/p/6753107.html
Copyright © 2011-2022 走看看