#11 总是TLE 怎么改进 dfs记忆化搜索 求大佬指点
  • 板块P1164 小A点菜
  • 楼主Godwen
  • 当前回复10
  • 已保存回复10
  • 发布时间2022/3/5 16:09
  • 上次更新2023/10/28 07:14:05
查看原帖
#11 总是TLE 怎么改进 dfs记忆化搜索 求大佬指点
599003
Godwen楼主2022/3/5 16:09
#include <cstdio>
#include <cstring>
#include <algorithm>
#include <cmath>
#include <iostream>
using namespace std;
const int N=105;
int m,n;
int a[N];
int ans=0;

void dfs(int m,int i){
	if(m<=0){
		if(m==0){
			ans++;
		}
		return;
	}
	
	if(i>n){
		return;
	}
	if(a[i]<=m){
		dfs(m-a[i],i+1);
	}
	dfs(m,i+1);
}

int main(){
	scanf("%d%d",&n,&m);
	for(int i=1;i<=n;i++){
		scanf("%d",&a[i]);
	}
	dfs(m,1);
	printf("%d",ans);
	return 0;
}
2022/3/5 16:09
加载中...