hdu 3177 Crixalis's Equipment

来源:互联网 发布:如何做淘宝客服代理 编辑:程序博客网 时间:2024/05/07 01:54

Crixalis's Equipment

如果能够装入的话,把移动空间与占用空间的差值重大到小排序。
因为总容量是一定的了。所以要先把移动空间与占用空间差值大的先放。

例如:两个物品的实际体积与所需体积分别为4,5;6,8:先放物品一所需的总体积是:max(5,4+8)=12;现放物品二所需总体积是max(8,6+5)=11;
所以,,,

#include<iostream>#include<algorithm>using namespace std;struct cir{    int v;    int f;    int c;}a[1010];bool cmp(cir a,cir b){    if(a.c>b.c)    return true;   return false;}int main(){    int T,i,j;    cin>>T;    while(T--)    {        int V,n;        cin>>V>>n;            int count=0;            for(i=0;i<n;i++)            {                cin>>a[i].v>>a[i].f;                a[i].c=a[i].f-a[i].v;            }            sort(a,a+n,cmp);            bool flag=true;            for(i=0;i<n;i++)            {                if(V>=a[i].f)                    V-=a[i].v;                    else                    {                         flag=false;                         break;                    }            }             if(flag) cout<<"Yes"<<endl;        else cout<<"No"<<endl;    }    return 0;}


原创粉丝点击