深度优先搜索(DFS)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/CSDN___CSDN/article/details/82927914

 

#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;
}

猜你喜欢

转载自blog.csdn.net/CSDN___CSDN/article/details/82927914