zoukankan      html  css  js  c++  java
  • POJ 1065 Wooden Sticks

    排序+贪心。

    先对L从小到大进行排序,L一样的W小的在前面,之后就不用看L了。

    对W进行贪心处理即可得到答案。

    #include<cstdio>
    #include<cstring>
    #include<cmath>
    #include<queue>
    #include<algorithm>
    using namespace std;
    
    const int maxn=5000+10;
    struct X
    {
        int L,W;
    } s[maxn];
    int n;
    bool flag[maxn];
    
    bool cmp(const X&a,const X&b)
    {
        if(a.L==b.L) return a.W<b.W;
        return a.L<b.L;
    }
    
    int main()
    {
        int T;
        scanf("%d",&T);
        while(T--)
        {
            scanf("%d",&n);
            for(int i=1; i<=n; i++) scanf("%d%d",&s[i].L,&s[i].W);
            sort(s+1,s+1+n,cmp);
            memset(flag,0,sizeof flag);
            int ans=0;
            for(int i=1; i<=n; i++)
            {
                if(flag[i]==0)
                {
                    flag[i]=1;
                    ans++;
                    int lim=s[i].W;
                    for(int j=i+1; j<=n; j++)
                    {
                        if(flag[j]==0&&s[j].W>=lim)
                        {
                            lim=s[j].W;
                            flag[j]=1;
                        }
                    }
                }
            }
            printf("%d
    ",ans);
        }
        return 0;
    }
  • 相关阅读:
    列表、元组、字符串的相互转化
    python中的常用BIF
    python中的类型
    python内置模块
    打印字体颜色整理
    xml操作
    内置函数
    迭代器
    装饰器
    函数
  • 原文地址:https://www.cnblogs.com/zufezzt/p/5314127.html
Copyright © 2011-2022 走看看