您的位置:首页 > 其它

hdu1051

2015-07-28 17:10 239 查看
刚学完贪心好渣。。。第一发贪心

#include<stdio.h>
#include<math.h>
#include <algorithm>
using namespace std;
struct stick{
int w;
int l;
}a[5005];
int cmp(const stick &a,const stick &b)
{
if(a.l==b.l)
return a.w<b.w;
return a.l<b.l;
}

int main()
{
int t,i,j,k,n;
scanf("%d",&t);
for(i=0;i<t;i++)
{
int sym[5005]={0};
scanf("%d",&n);
for(j=0;j<n;j++)
{
scanf("%d %d",&a[j].l,&a[j].w);
}
sort(a,a+n,cmp);
int l1=a[0].l,w1=a[0].w,time=1,count=1;
sym[0]=1;
for(j=1;j<n;j++)
{
if((a[j].l>=l1&&a[j].w>=w1)&&sym[j]==0)
{
l1=a[j].l;
w1=a[j].w;
sym[j]=1;
count++ ;
}
if(count==n)break;
if(j==n-1)
{
for(k=0;k<n;k++)
{
if(sym[k]==0)
{
j=k;
l1=a[j].l;
w1=a[j].w;
sym[j]=1;
count++;
time++;
break;
}
}
}
if(count==n)break;
}
printf("%d\n",time);
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: