牛客装货物(dfs)
Posted 为什么他们cf写的这么快
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了牛客装货物(dfs)相关的知识,希望对你有一定的参考价值。
题目链接
思路:n的范围小,大胆暴力,其中now指的是当前的第now件货物。
#include<bits/stdc++.h>
using namespace std;
const int maxn=25;
int n,T,x,w,a[maxn],b[maxn];
bool dfs(int now)
{
if(now==n+1) return true;
for(int i=1;i<=min(x,now);++i)
{
if(b[i]+a[now]>w) continue;
b[i]+=a[now];
if(dfs(now+1)) return true;
b[i]-=a[now];
}
return false;
}
int main()
{
scanf("%d",&T);
while(T--)
{
memset(b,0,sizeof(b));
scanf("%d%d%d",&n,&x,&w);
for(int i=1;i<=n;++i) scanf("%d",&a[i]);
printf("%s\\n",dfs(1)?"Yes":"No");
}
}
以上是关于牛客装货物(dfs)的主要内容,如果未能解决你的问题,请参考以下文章