最后一个点超时,大佬求助!!!
查看原帖
最后一个点超时,大佬求助!!!
755503
LiJinLin_AFO楼主2022/12/30 15:22
#include<stdio.h>
int a[105],n,m,ans=0;
void dfs(int k,int sum){
	if(k==n+1){
		if(sum==m) ans++;
		return;
	}
	if(sum>m) return;
	dfs(k+1,sum);
	dfs(k+1,sum+a[k+1]);
}
int main(){
	scanf("%d%d",&n,&m);
	for(int i=1;i<=n;i++) scanf("%d",&a[i]);
	dfs(0,0);
	printf("%d",ans/2);
	return 0;
}

倒数第三行的ans不知道为什么算出来结果是正确结果的两倍,提交除以2后竟然是90分,大佬求教!!!!!

2022/12/30 15:22
加载中...