ACM程式設計書中題目 k 移動磚塊

2021-07-28 19:52:04 字數 613 閱讀 5130

題目簡述:移動磚塊使其變成相同的高度,求最少的移動步數。

解題思路:

1、首先移動磚塊變成相同的高度,即變成平均值。所以先對所有磚塊的高度求和再取平均值。

2、對磚塊的高度用sort進行排序。

3、總移動的次數f初值為0,高度小於平均值的磚塊,用平均值減去該高度即為應該移動的次數e(每次移動一塊),f=f+e,一直到平均值或高於平均值結束,即所求最少次數。

4、輸出最少次數。

源**:

#include

using

namespace std;

intmain

()sort

(a.begin

(),a.

end());

for(i=

0;isum=sum+a[i];

c=sum/n;

for(i=

0;i}for

(i=d;icout<<

"set #"

cout<<

"the minimum number of moves is "

<"."

}

ACM書中題目 K

題目要求 乙個陣列中的資料,重新排列,使每個元素相等,要移動的最小的數。題目思路 定義陣列存放元素,利用while迴圈,輸入元素,並將所有元素求和,求取平均數。判斷每個元素與平均數的大小,如果元素小於平均數則取二者之差,累加所有小於平均數的元素所得差。細節處理 初始化元素和以及平均數在while迴圈...

《ACM程式設計》書中題目 J

題目簡要 輸入從乙個整數n 這是要跟隨的字串數。以下n行每個包含乙個最多50個大寫字母的字串。對於輸入中的每個字串,首先輸出字串的編號,列印字串start是從輸入字串匯出的,每次都替換為字母表中的以下字母,並用 a 替換 z 在每個測試用例後列印空白行。例如 sample input 2hal sw...

acm程式設計書中題目l

輸入乙個字串,將這個字串倒序輸出。運用string中的getline cin,字串名 進行輸入然後通過獲取字串長度,倒序輸出。include include include using namespace std intmain d 100 int a,i,j while cin a 輸入字串 fo...