首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

直线排列的石子合并有关问题

2012-10-21 
求教:直线排列的石子合并问题问题描述:在操场上沿一直线排列着n堆石子。现要将石子有次序地合并成一堆。规定

求教:直线排列的石子合并问题
问题描述: 
在操场上沿一直线排列着n堆石子。现要将石子有次序地合并成一堆。规定每次只能选相邻的两堆石子合并成新的一堆,并将新的一堆石子数计为该次合并的得分,允许在第一次合并前对调一次相邻两堆石子的次序。

编程任务:
计算在上述条件下,将n堆石子合并成一堆的最小累计得分、最大累积积分和初次交换的位置。 

数据输入:
输入数据由文件名为INPUT2.*的文本文件提供。 
其中,第1行是石子的堆数n≤100; 
第2行是顺序排列的各堆石子数(≤20),每两个数之间用空格分隔。 
?
结果输出: 
在屏幕上输出合并的最小得分和初次交换的位置(k,k+1)。如果没有进行对调,则初次交换的位置输出为(0,1)。 
每个计算结果占2行,第1行为输出数据的十进制位数,第2行是相应的输出数据。

输入示例 
INPUT.IN 

2 5 1 

输出文件示例 
最小得分=11 
交换的位置:(1,2)或(2,3) 



[解决办法]
http://topic.csdn.net/u/20071223/19/6e19a3f8-90f2-46b8-9830-62f7501c9c9b.html

热点排行