nyoj 1058 部分和问题
来源:互联网 发布:strip函数python 编辑:程序博客网 时间:2024/05/22 07:43
问题主题:求数组部分和
问题描述:
给定整数a1,a2, … an,判断能否从中选出若干个数,使得它们的和为k。
限制条件:
1<=n<=20
-108<=ai<=108
-108<=k<=108
样例:
输入
n=4
a={1,2,4,7}
k=13
输出
Yes (13=2+4+7)
输入
n=4
a={1,2,4,7}
k=15
输出
No
解题分析:
用递归的方法实现深度优先搜索,从a0开始依次判断,决定ai加入或不加入,对每一个种组合进行判断,决定是否存在和为k的情况。
#include<stdio.h>int a[1010];int n,k;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;}void solve(){if(dfs(0,0)) printf("Yes\n");else printf("No\n");}int main(){while(scanf("%d%d",&n,&k)!=EOF){for(int i=0;i<n;i++)scanf("%d",&a[i]);solve();}return 0;}
0 0
- NYOJ-1058 部分和问题
- NYOJ 1058 部分和问题
- nyoj 1058 部分和问题
- nyoj 1058 部分和问题
- NYOJ-1058 部分和问题
- nyoj 1058 部分和问题
- NYOJ-1058部分和问题
- NYOJ 1058 部分和问题
- NYOJ 1058 部分和问题
- NYOJ 1058 部分和问题
- NYOJ 1058 部分和问题
- NYOJ 1058 部分和问题
- NYOJ-1058 部分和问题
- NYOJ-1058-部分和问题
- nyoj 1058 部分和问题
- NYOJ-1058-部分和问题
- nyoj 1058部分和问题
- [NYOJ] 1058 部分和问题
- 黑马程序员----java基础之异常和File文件类
- 五大常用算法之五:分支限界法
- NYOJ-458:小光棍数
- 施一公在《科学》发表突破性成果 专家称有望拿诺奖
- Java反射性能优化(上)
- nyoj 1058 部分和问题
- 关键字Static
- XML基础(一)
- JList的ListSelectionEvent的几个问题请教
- 淘宝吴雪军:自然语言处理技术在搜索和广告中的应用
- 黑马程序员——继承,抽象,接口,多态
- js的History对象
- 【线性规划与网络流24题 1】飞行员配对方案
- linux需要学习的命令: