摆平积木

思路:
1.计算积木的总数,除以堆数,得到平均每一堆数目;
2.对于超过平均值的积木,计算当前的积木数量和平均值的差值,把多的积木数量移到缺少的部分,直到积木高度相同。
代码:
点击查看代码
#include<iostream>
#include<vector>
using std::cin;
using std::cout;
using std::endl;
using std::vector;
int main(){
int n;
int sum = 0;
int result = 0;
int temp;
while(cin >> n){
if(n == 0){ //注意先写终止条件
break;
}
vector<int> myVector(n);
for(int i = 0;i < n;i++){ //这两个for循环可以合成为一个
cin >> myVector[i];
sum += myVector[i];
}
int temp = sum/n; //记录平均值
sum = 0;
for(int i = 0;i < n;i++){
if((myVector[i] - temp) > 0){
result += myVector[i] - temp;
}
}
cout << result <<endl<<endl;
result = 0;
}
return 0;
}
浙公网安备 33010602011771号