牛客装货物(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)的主要内容,如果未能解决你的问题,请参考以下文章

牛客~~扫雷~~~DFS+模拟

NC13223牛客二星DFS

2021牛客多校9 E.Eyjafjalla(dfs序+主席树)

牛客练习赛1 树 dp + dfs序

CH2401 双向dfs 送礼物

牛客练习赛27-----C.水图(DFS求最长路径)