SSL 合併石子

2021-10-23 14:45:31 字數 1412 閱讀 6925

在乙個操場上一排地擺放著n堆石子。現要將石子有次序地合併成一堆。規定每次只能選相鄰的2堆石子合併成新的一堆,並將新的一堆石子數記為該次合併的得分。請設計乙個程式,計算出將n堆石子合併成一堆的最小得分。

每組資料第1行為乙個正整數n(2<=n<=100),以下n行,每行乙個正整數,小於10000,分別表示第i堆石子的個數(1<=i<=n)。

對於每組資料輸出乙個正整數,即最小得分

7137

816214

18

239
這道題有三種方法:(1)先列舉邊界,再列舉長度;(2)先列舉長度,再列舉邊界;(3)列舉邊界,然後列舉長度。注:這裡的長度指的是加幾個。

狀態轉移方程:

方法(一)

#include

#include

#include

#include

#include

#include

using

namespace std;

int a[

101]

[101

],c[

101]

,b[10010

],n;

intmain()

cout<

[n];

return0;

}

方法(二)

#include

#include

#include

#include

#include

#include

using

namespace std;

int a[

101]

[101

],c[

101]

,b[10010

],n;

intmain()

cout<

[n];

return0;

}

方法(三)

#include

#include

#include

#include

#include

#include

using

namespace std;

int a[

101]

[101

],c[

101]

,b[10010

],n;

intmain()

cout<

[n];

return0;

}

SSL 2863合併石子

time limit 10000ms memory limit 256000k在乙個操場上一排地擺放著n堆石子。現要將石子有次序地合併成一堆。規定每次只能選相鄰的2堆石子合併成新的一堆,並將新的一堆石子數記為該次合併的得分。請設計乙個程式,計算出將n堆石子合併成一堆的最小得分。每組資料第1行為乙個正...

SSL 1597 石子合併問題

description 在乙個圓形操場的四周擺放著n 堆石子。現要將石子有次序地合併成一堆。規定每次只能選相鄰的2 堆石子合併成新的一堆,並將新的一堆石子數記為該次合併的得分。試設計乙個演算法,計算出將n堆石子合併成一堆的最小得分和最大得分。程式設計任務 對於給定n堆石子,程式設計計算合併成一堆的最...

SSL 石子歸併

你有一堆石頭質量分別為w1,w2,w3 wn.w 100000 現在需要你將石頭合併為兩堆,使兩堆質量的差為最小。測試資料第一行為整數n 1 n 20 表示有n堆石子。第二行為n個數,為每堆石子的質量。每組測試資料只需輸出合併後兩堆的質量差的最小值。558 1327 143這道題其實可以用搜尋,但我...