POJ1065 Wooden Sticks(Greedy)

来源:互联网 发布:app下载排名 优化 编辑:程序博客网 时间:2024/05/17 17:46
#include<iostream>#include<cstdio>#include<algorithm>typedef long long ll;const long long mod = 4294967296;#define INF 0x7fffffff //32位最大值//#define INF 0x3f3f3f3f3f3f3f3f longlong最大值#define maxn 1000000+10using namespace std;struct Sticks{    int l,w;}s[5005];int flag[5005];int cmp(const Sticks &a,const Sticks &b){    if(a.l!=b.l)        return a.l>b.l;    else        a.w>b.w;}int main(){    //freopen("C:\\Users\\Weicheng\\Desktop\\in.txt","r",stdin);    int t;    scanf("%d",&t);    while(t--)    {        int n;        scanf("%d",&n);        for(int i=0;i<n;i++)        {            cin>>s[i].l>>s[i].w;            flag[i]=0;        }        sort(s,s+n,cmp);        int ans=0,mini;        for(int i=0;i<n;i++)        {            if(flag[i])                continue;            mini=s[i].w;            for(int j=i+1;j<n;j++)            {                if(mini>=s[j].w&&!flag[j])                {                    mini=s[j].w;                    flag[j]=1;                }            }            ans++;        }        printf("%d\n",ans);    }    //cout<<"Hello world!"<<endl;    return 0;}
0 0
原创粉丝点击