HDU 3177 Crixalis's Equipment

来源:互联网 发布:db2数据库和oracle 编辑:程序博客网 时间:2024/05/22 01:47

 

 

这是一道贪心的题目。此题关键是找到所需要的最少空间,即:移动空间-占用空间,然后从大到小排序。想通这一步就简单了。

struct sa{    int a;    int b;} data[1000];int cmp(sa x,sa y){    return x.b-x.a>y.b-y.a;}#include<stdio.h>#include<algorithm>using namespace std;int main(){    int t;    while(scanf("%d",&t)!=EOF)    {        while(t--)        {            int v,n,flag=0;            scanf("%d%d",&v,&n);            for(int c=0; c<n; c++)                scanf("%d%d",&data[c].a,&data[c].b);            sort(data,data+n,cmp);            for(int d=0; d<n; d++)            {                if(v-data[d].b<0)                {                    flag=1;                    break;                }                if((v-=data[d].a)<0)                {                    flag=1;                    break;                }            }            if(flag)                printf("No\n");            else printf("Yes\n");        }    }    return 0;}


 

 

 

原创粉丝点击