博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
部分和问题
阅读量:4568 次
发布时间:2019-06-08

本文共 746 字,大约阅读时间需要 2 分钟。

问题描述 n个数 取其中部分之和能否构成k

dfs + 简单剪枝

1 #include 
2 #include
3 4 using namespace std; 5 6 typedef long long ll; 7 8 //每一个数要么选要么不选 所以复杂度是O(2^n) 9 //还能剪枝 因为当sum超过k时 状态无论如何转移都无法成功10 ll a[128];11 ll k;12 int n;13 bool dfs(int t, ll s)14 {15 if (s == k)16 {17 return true;18 }19 //剪枝20 if (s > k) return false;21 if (t == n) return false;22 return ( dfs(t+1, s+a[t]) || dfs(t+1, s) );23 }24 int main()25 {26 ifstream cin ("in.txt");27 cin >> n;28 for (int i = 0; i < n; i++)29 {30 cin >> a[i];31 }32 cin >> k;33 if ( dfs(0, 0) )cout << "yes" << endl;34 else cout << "no" << endl;35 }

 

转载于:https://www.cnblogs.com/oscar-cnblogs/p/6291426.html

你可能感兴趣的文章
Mac & Linux下php7添加memcached和redis扩展
查看>>
Util应用程序框架公共操作类(八):Lambda表达式公共操作类(二)
查看>>
MS SQL 统计信息浅析上篇
查看>>
YourSQLDba版本升级总结
查看>>
Failure sending mail: The user or group name 'xxx\xxxx' is not recognized.Mail will not be resent
查看>>
分析函数改写自关联
查看>>
appium 数据参数化 登录模块
查看>>
php内置函数分析之array_fill_keys()
查看>>
git 从远程仓库获取所有分支
查看>>
从 Godaddy 转移域名到 Namesilo
查看>>
numpy
查看>>
django | 连接mysql数据库
查看>>
导入sql时报日期类型错误
查看>>
更改arch的默认终端
查看>>
labelme2coco问题:TypeError: Object of type 'int64' is not JSON serializable
查看>>
JDBC连接MySQL数据库的方法和实例
查看>>
初学python之感悟
查看>>
(转)Secondary NameNode的作用
查看>>
Unable to read TLD "META-INF/c.tld" from JAR file
查看>>
React开发
查看>>