欢迎来到天天文库
浏览记录
ID:54699314
大小:65.50 KB
页数:27页
时间:2020-04-20
《常用c++算法代码.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、堆石子游戏的问题(多元Huffman编码)问题描述:在一个操场的四周摆放着n堆石子。现要将石子有次序地合并成一堆。规定每次至少选2堆最多选k堆石子合并成新的一堆,合并的费用为新的一堆的石子数。试设计一个算法,计算出将n堆石子合并成一堆的最大总费用和最小总费用。编程任务:对于给定n堆石子,编程计算合并成一堆的最大总费用和最小总费用。Input测试数据的第1行有2个正整数n和k,表示有n堆石子,每次至少选2堆最多选k堆石子合并。第2行有n个数,分别表示每堆石子的个数。Output输出最大总费用和最小总费用,用一空格隔开,每个答案一行。SampleInput73451312169522Samp
2、leOutput593199代码:#include#include#includeusingnamespacestd;boolcmp(inta,intb){ returna>b;}voidInsert(vector&f,intpos,intvalue){ for(inti=f.size()-1;i>pos;i--) { f[i]=f[i-1]; } f[pos]=value;}intFind(vectorf,intvalue){ intpos=f.size()-1; wh
3、ile(pos>=0&&f[pos]f){ sort(f.begin(),f.end()); intMax; Max=0; while(f.size()>=2) { intsum=f[f.size()-1]+f[f.size()-2]; Max=Max+sum; f.resize(f.size()-1); f[f.size()-1]=sum; } returnMax;}intMinNu
4、m(vectorf,intlen){ sort(f.begin(),f.end(),cmp); intMin; Min=0; while(f.size()>=len) { intsum=0; for(inti=f.size()-1;i>=f.size()-len&&i>=0;i--) { sum=sum+f[i]; } Min=Min+sum; f.resize(f.size()-len+1); if(f.size()>len) {
5、 intpos=Find(f,sum); Insert(f,pos,sum); } elseif(f.size()!=1) { f[f.size()-1]=sum; for(inti=0;i6、n;}boolrun(){ intn,m; if(!(cin>>n>>m))returnfalse; vectorf(n); for(inti=0;i>f[i]; } intMax,Min; Max=MaxNum(f); while(f.size()%(m-1)!=1) { f.push_back(0); } Min=MinNum(f,m); cout<7、 return0;}——————————————————————————————————————————————————登山机器人问题问题描述:登山机器人是一个极富挑战性的高技术密集型科学研究项目,它为研究发展多智能体系统和多机器人之间的合作与对抗提供了生动的研究模型。登山机器人可以携带有限的能量。在登山过程中,登山机器人需要消耗一定能量,连续攀登的路程越长,其攀登的速度就越慢。在对n种不同类型的机器人作性能测试时,测定出每个机器
6、n;}boolrun(){ intn,m; if(!(cin>>n>>m))returnfalse; vectorf(n); for(inti=0;i>f[i]; } intMax,Min; Max=MaxNum(f); while(f.size()%(m-1)!=1) { f.push_back(0); } Min=MinNum(f,m); cout<7、 return0;}——————————————————————————————————————————————————登山机器人问题问题描述:登山机器人是一个极富挑战性的高技术密集型科学研究项目,它为研究发展多智能体系统和多机器人之间的合作与对抗提供了生动的研究模型。登山机器人可以携带有限的能量。在登山过程中,登山机器人需要消耗一定能量,连续攀登的路程越长,其攀登的速度就越慢。在对n种不同类型的机器人作性能测试时,测定出每个机器
7、 return0;}——————————————————————————————————————————————————登山机器人问题问题描述:登山机器人是一个极富挑战性的高技术密集型科学研究项目,它为研究发展多智能体系统和多机器人之间的合作与对抗提供了生动的研究模型。登山机器人可以携带有限的能量。在登山过程中,登山机器人需要消耗一定能量,连续攀登的路程越长,其攀登的速度就越慢。在对n种不同类型的机器人作性能测试时,测定出每个机器
此文档下载收益归作者所有