一个算法得分转自csdn看看
2008-08-21 10:37
183 查看
#include <iostream.h>
#include <string.h>
int data[]={40,25,30,20};
int N=4,total=917;
int stack[100],top;
int temp[100],len;
int min;
void print()
{
int i;
for(i=0;i<len;i++)
cout<<temp[i]<<" ";
cout<<endl;
}
int Sum()
{
int i;
int sum=0;
for(i=0;i<top;i++)
sum=sum+data[i]*stack[i];
return sum;
}
void Trackback(int deep)
{
int i;
if(deep>=N)
{
if(total-Sum() < min && top==N)
{
min=total-Sum();
memcpy(temp,stack,sizeof(int)*top);
len=top;
}
return ;
}
for(i=1;i<=total/data[deep];i++)
{
stack[top++]=i;
if(Sum()>total)
{
top--;
return;
}
Trackback(i+1);
top--;
}
}
int main()
{
top=0;
min=total;
Trackback(0);
print();
cout<<"min="<<min<<endl;
return 0;
}
#include <string.h>
int data[]={40,25,30,20};
int N=4,total=917;
int stack[100],top;
int temp[100],len;
int min;
void print()
{
int i;
for(i=0;i<len;i++)
cout<<temp[i]<<" ";
cout<<endl;
}
int Sum()
{
int i;
int sum=0;
for(i=0;i<top;i++)
sum=sum+data[i]*stack[i];
return sum;
}
void Trackback(int deep)
{
int i;
if(deep>=N)
{
if(total-Sum() < min && top==N)
{
min=total-Sum();
memcpy(temp,stack,sizeof(int)*top);
len=top;
}
return ;
}
for(i=1;i<=total/data[deep];i++)
{
stack[top++]=i;
if(Sum()>total)
{
top--;
return;
}
Trackback(i+1);
top--;
}
}
int main()
{
top=0;
min=total;
Trackback(0);
print();
cout<<"min="<<min<<endl;
return 0;
}
相关文章推荐
- 一棵排序二叉树,令 f=(最大值+最小值)/2,设计一个算法,找出距离f值最近、大于f值的结点。 复杂度如果是O(n2)则不得分。
- 一棵排序二叉树,令 f=(最大值+最小值)/2, 设计一个算法,找出距离f 值最近、大于f 值的结点。 复杂度如果是O(n2)则不得分
- 在CSDN上看到一个贴子,觉得写得很对,放这里,常看看!
- 今天笔试的一个算法题,大家来看看怎么做?
- BBS 设计思路系列 ---- 网友提供的一个用户在CSDN的总分算法
- 在CSDN上看到一个贴子,觉得写得很对,放这里,常看看!
- 一棵排序二叉树,令 f=(最大值+最小值)/2,设计一个算法,找出距离f值最近、大于f值的结点。复杂度如果是O(n2)则不得分。
- 发现CSDN的一个小Bug,CSDN网站管理人员进来看看哈~~
- 统计字符串中出现某子串的次数的一个算法【csdn总结】
- 一个能够记录你在CSDN得分历史的功能
- 摘录:一个老板在CSDN上的回帖,很坦诚,要找工作的程序员应该进来看看
- 我在csdn得分最多的一个帖子:用6行代码写一个将小写金额转成大写的函数
- BBS 设计思路系列 ---- 网友提供的一个用户在CSDN的总分算法
- [转] 一个分组查询的SQL 常用算法(附源码可直接执行) [来自--http://blog.csdn.net/rainbowsoftware/archive/2007/04/26/1585355.aspx]
- 发现CSDN的一个小Bug,CSDN网站管理人员进来看看哈~~
- 一个算法大家一起来写一把吧 csdn 首页的讨论区
- 关于推荐的一个算法工程师访谈,有一些内容值得看看
- android之存储篇_SQLite存储方式 - 一个本科小生的奋斗史 - 博客频道 - CSDN.NET
- 一个工程师的心里话,看看
- 算法3:给一个字符数组(a-z),如何打印该数组成员构成集合的全部子集合