我不理解,DFS初学
查看原帖
我不理解,DFS初学
208110
饼干君楼主2021/10/21 23:32
#include<bits/stdc++.h>
using namespace std;
int k,n,a[22],i,jia;
bool sushu(int w)
{
	if(n==1)
	return false;
	for(i=2;i*i<w;i++)
		if(w%i==0)
			return false;
	return true;
}
int dfs(int step,int jia,int t)
{
	if(step==k)
		return sushu(jia);
	int ans=0;
	for(i=t;i<=n;i++)
		ans+=dfs(step+1,jia+a[i],i+1);
	return ans;
}
int main()
{
	cin>>n>>k;
	for(i=1;i<=n;i++)
		cin>>a[i];
	cout<<dfs(1,0,0)<<endl;
}

就这个代码调我2小时,救命啊啊啊啊啊

2021/10/21 23:32
加载中...