#include <stdio.h> #include <iostream> #include <algorithm> #include <string.h> #include <queue> #include <map> #include <math.h> #include <set> #include <vector> #include <stack> #define ll long long #define mod 1000000007 const int maxn=1e6+5; const int INF = 0x3f3f3f3f; const int NINF = -INF - 1; using namespace std; int num[100]; int vor[100];//装箱 ll n,m,x,w; ll dfs(ll y) {     if(y==n+1) return 1;     for(ll i=1;i<=min(y,x);i++)     {         if(vor[i]+num[y]<=w)         {          vor[i]=vor[i]+num[y];          if(dfs(y+1)) return 1;          vor[i]=vor[i]-num[y];         }     }     return 0; } int main() {     ll t;     cin>>t;     while(t--)     {         cin>>n>>x>>w;         for(ll i=1;i<=n;i++)         {             cin>>num[i];             if(num[i]>w)             {                printf("No\n");                goto mmp;             }         }         for(ll i=1;i<=x;i++) vor[i]=0;         if(dfs(1)) printf("Yes\n");         else       printf("No\n");         mmp:continue;     }     return 0; } 大佬这个代码和你的一样了,为啥有问题啊..
点赞 评论

相关推荐

牛客网
牛客网在线编程
牛客网题解
牛客企业服务