永发信息网

一道简单的C++编程题 求解

答案:1  悬赏:0  手机版
解决时间 2021-07-17 17:41
2. 石子合并问题

描述:在一个圆形操场的四周摆放着n 堆石子。现要将石子有次序地合并成一堆。规定每次只能选相邻的2 堆石子合并成新的一堆,并将新的一堆石子数记为该次合并的得分。试设计一个算法,计算出将n堆石子合并成一堆的最小得分和最大得分。
输入:由文件input.txt提供输入数据。文件的第1行是正整数n,表示有n堆石子。第2 行有n个数,分别表示每堆石子的个数。
输入文件示例input.txt 44 4 5 9
输出:将计算结果输出到文件output.txt 中。文件的第1 行中的数是最小得分;第2 行中的数是最大得分。
输出文件示例 output.txt4354
最佳答案

这个题分两部分(最小得分,最大得分),思路都比较简单:


求最小得分时:找两堆相加和最小的来合并,,


如:4 4 5 9 //相临两堆中, 4 4 合并和最小,合并结果如下


8 5 9 //继续找和最小的两堆,8 5。。。结果如下;


13 9 //继续。。。


22 //结果 43


求最大得分时,相应的,,每轮都需要找出和最大的两堆。



楼主可以用循环链表实现,需要用到的操作:创建,遍历,删除……


我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
轶可真的改掉了绵羊音吗?
DNF进去会出现系统错误是怎么回事?
洛阳市上窑村有几大
为什么打开浏览器显示出来的是小窗口?
如果开个制衣厂,具体的步骤有哪些?
劳动法是如何规定的
好听的中国乐曲,三分钟以内的、
谁有nobady 相声版的剧本?
红颜知己应该保持在何种关系之间呐
帮我个忙 给我个QQ网名
cs自动改名字问题
我的最上级龙鸣链家甲换个粉的【圣魂法杖】加
英才网上如何投简历?
五金的制作工艺当中,去除披锋是什么意思?
联想Y450A TSI(H)都说4800元啊,5000元都能买
推荐资讯
为什么我电脑的F盘无法格式化
梦幻诛仙宝宝排名什么时候刷新
开机就有命令提示符
错爱2的电视剧结尾曲叫什么
为什么要保护动物
排3怎样才能开出豹子
怎样可以把读书VIP关掉啊?
怎么做吧主
新版本CF我怎么进不去?
怎么玩N97的ngage重力感应游戏?
淘宝助理批量编辑怎么去掉价格上的小数
为什么别人的Q上有两个知道的Q号?
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?