用回溯法求砝码01背包问题回溯法C++

编程这件小事牵扯到太多的知识,很容易知其然而不知其所以然,但真正了不起的程序员对自己程序的每一个字节都了如指掌,要立足基础理论,努力提升自我的专业修养。
[34,481] [10,578] [9,281] [8,493] [8,115] [5,941] [5,485] [5,348] [5,035] [4,842] [4,825] [4,822] [4,673] [4,647] [4,028]
友情链接(随机排序)回溯法求解TSP问题_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
回溯法求解TSP问题
上传于||文档简介
&&回​溯​法​求​解​T​S​P​问​题
阅读已结束,如果下载本文需要使用0下载券
想免费下载更多文档?
下载文档到电脑,查找使用更方便
还剩2页未读,继续阅读
你可能喜欢回溯法 背包问题_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
回溯法 背包问题
上传于||文档简介
&&回​溯​法​ ​背​包​问​题
阅读已结束,如果下载本文需要使用1下载券
想免费下载本文?
下载文档到电脑,查找使用更方便
还剩9页未读,继续阅读
你可能喜欢C++回溯法解数独_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
评价文档:
C++回溯法解数独
上传于||暂无简介
大小:1.59KB
登录百度文库,专享文档复制特权,财富值每天免费拿!
你可能喜欢回溯法 桥本分数式问题的C++算法实现代码 - 为程序员服务
为程序员服务
桥本分数式问题的C++算法实现代码
/*用枚举法求解桥本分数式问题
问题:寻找p1(1位数)/p2(2位数)+p3(1位数)/p4(2位数)=p5(1位数)/p6(2位数),每位数取值[1..9]
特点:实现比回溯法简单
#include &iostream&
#include &stdio.h&
#include &string&
#include &memory.h&
//取得最大公约数
int getGCD(int a, int b)
if (a & b)
while( r != 0 )
bool check(int p1, int p2, int p3, int p4, int *cnt, int& p5, int &p6)
int pa1, pa2, pbX, gcd,
pa1 = p1 * p4;
//同分母后的分子1
pa2 = p2 * p3;
//同分母后的分子2
//要求:第1个分数的分子小于第2个分数的分子
if (p1 & p3)
p5 = pa1 + pa2;
p6 = p2 * p4;
//同分母后的分母
//计算真分数
if (p6 & p5)
gcd = getGCD(p6, p5);
//由真分数依次派生假分数,检验是否符合需要
while(true)
//p6尾数也不能为0
//如果不满足条件,则搜索假分数
if (p5 & 9 || p6 & 99)
if (p5 == p6 % 10 || p5 == p6 / 10 || p6 % 10 == p6 / 10 || cnt[p5] & 0 || p6 % 10 == 0 || cnt[p6 % 10] & 0 || cnt[p6 / 10] & 0)
p5 = p5 / k * (k + 1);
p6 = p6 / k * (k + 1);
find = p6 & 9;
void Qiaoben()
int val = 123456, tmp, part, p1, p2, p3, p4, p5, p6;
int cnts[10] = {0};
int cnt = 0;
while( true )
if (val & 999999)
//结束条件
//不允许数字重复
memset(cnts, 0, sizeof(int) * 10);
//设置10个元素值的计数为0
for(int i = 1; i &= 6; i++)
part = tmp % 10;
tmp /= 10;
cnts[part]++;
if (cnts[part] & 1 || part == 0)
//从val中检验等式是否符合条件
p4 = tmp % 100;
tmp /= 100;
p3 = tmp % 10;
tmp /= 10;
p2 = tmp % 100;
tmp /= 100;
if (check(p1, p2, p3, p4, cnts, p5, p6))
printf(&%2d: &, cnt);
cout && val && p5 && p6 && & ==& & && p1 && &/& && p2 && & + & && p3 && &/& && p4 && & = & && p5 && &/& && p6 &&
int main()
Qiaoben();
您可能的代码
相关聚客文章
相关专栏文章}

我要回帖

更多关于 装载问题 回溯法 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信