装货物

装货物

https://ac.nowcoder.com/acm/problem/200532

#include <bits/stdc++.h>
using namespace std;
int n,x,w,kk,a[109],s[109],flag;
bool com(int q,int w){
    return q>w;
}
void dfs(int num,int g)
{
    if( g>x||g>n )    return;
    if( num==n+1 )
    {
        kk=1;
        return;
    }
    if( kk )    return;
    for(int i=1;i<=g;i++)
    {
        if( a[i]+s[num]<=w )
        {
            a[i]+=s[num];
            dfs(num+1,g);
            a[i]-=s[num];
        }
    }
    a[g+1]=s[num];
    dfs(num+1,g+1);
    a[g+1]=0;
}
int main()
{
    int t;
    cin >> t;
    while( t-- )
    {
        kk=0,flag=1;
        cin >> n >> x >> w;
        for(int i=1;i<=n;i++)
        {
            cin >> s[i];
            if( s[i]>w )    flag=0;
        }
        if( !flag )
        {
            cout << "No\n";
            continue;
        }
        for(int i=1;i<=21;i++)    a[i]=0;
        sort(s+1,s+1+n,com);
        a[1]=s[1];
        dfs(2,1);
        if( kk||n==1 )    cout << "Yes\n";
        else    cout << "No\n";
    }
}
全部评论

相关推荐

11-28 17:58
门头沟学院 Java
美团 JAVA开发 n×15.5
牛客786276759号:百度现在晋升很难的 而且云这块的业务没美团好 你看百度股价都跌成啥样了
点赞 评论 收藏
分享
如题如果提出了一个薪资,A不成功,会有可能被取消offer吗
爱打瞌睡的柯基:最想去你们公司 但是别家开的高一些,希望能申请高一点 不管结果如何都谢谢你
点赞 评论 收藏
分享
找不到工作死了算了:没事的,雨英,hr肯主动告知结果已经超越大部分hr了
点赞 评论 收藏
分享
评论
1
收藏
分享
牛客网
牛客企业服务