深度优先搜索(DFS)

#include <stdio.h>
int a[100],n,k,sum;
bool dfs(int i,int sum)
{
	if(i==n) return sum==k;
	if(dfs(i+1,sum))
	{
		return true;
	}
	if(dfs(i+1,sum+a[i]))
	{
		return true;
	}
	return false;
}

int main ()
{
	sum=0;
	n=6;
	a[0]=1;a[1]=2;a[2]=3;a[3]=4,a[4]=6,a[5]=10;
	k=12;
	if(dfs(0,0))
	{
		printf("YES\n");
	}
	else
	{
		printf("NO\n");
	}
	return 0;
}

 

相关文章:

  • 2022-02-12
  • 2022-12-23
  • 2022-12-23
  • 2021-05-26
猜你喜欢
  • 2022-12-23
  • 2021-06-05
  • 2021-10-22
  • 2021-09-19
  • 2022-01-18
相关资源
相似解决方案