深搜从n个数中找和为k的数
2015-08-06 21:19
232 查看
#include<stdio.h>
int find(int n,int k,int a[],int sum,int pos);
int a[1002];
int main()
{
int n,k,sum=0;
scanf("%d%d",&n,&k);
for(int i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
if(find(n,k,a,sum,0)) //如果能找到输出yes
printf("YES\n");
else
printf("NO\n");
return 0;
}
int find(int n,int k,int a[],int sum,int pos)
{
if(sum==k)
return 1; //找到
if(pos>n)
return 0;
if(find(n,k,a,sum+a[pos],pos+1)) return 1; //找到
if(find(n,k,a,sum,pos+1)) return 1; //找到
return 0;
}
int find(int n,int k,int a[],int sum,int pos);
int a[1002];
int main()
{
int n,k,sum=0;
scanf("%d%d",&n,&k);
for(int i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
if(find(n,k,a,sum,0)) //如果能找到输出yes
printf("YES\n");
else
printf("NO\n");
return 0;
}
int find(int n,int k,int a[],int sum,int pos)
{
if(sum==k)
return 1; //找到
if(pos>n)
return 0;
if(find(n,k,a,sum+a[pos],pos+1)) return 1; //找到
if(find(n,k,a,sum,pos+1)) return 1; //找到
return 0;
}
相关文章推荐
- SELinux深入理解
- poj 3320 尺取法
- HDOJ-1016-Prime Ring Problem(素数环)【DFS】
- 重温《C++ Primer》笔记十 当数组作为函数参数时
- Appium 服务关键字
- TC SRM 397 2 250
- 使用Dom解析xml文件的属性节点
- 解决ofbiz在myeclipse中调试运行时报错:Can't find bundle for base name cache
- Android 加载大图的缩略图显示
- hdoj1212
- 【西祠日志】【17】初识AngularJS,下一代Web应用的前端
- 妙味课堂视频笔记总结
- 2.Kali安装VMware tools(详细+异常处理)
- iOS设计模式 - 单例
- python练习之通过python pexpect实现自动生成openssl证书
- poj2386水洼dfs
- UDK控制台命令概览
- 十一讲,买花
- LeetCode(66)题解: Plus One
- (2015多校第6场)HDU5361--In Touch (Dijkstra应用)