摆平积木

image
思路:
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;
}
posted @ 2025-07-16 15:50  Lè_Sage  阅读(21)  评论(0)    收藏  举报