UVA - 591 Box of Bricks (水题)

来源:互联网 发布:faker哭了知乎 编辑:程序博客网 时间:2024/05/29 14:05

给你n堆高度不一的砖块,问你把这n堆砖块变成相同高度,需要最少移动的砖块数。

开始题目没仔细看,以为照样是求变成相同高度的最小移动次数,这题只要求出平均值,然后累加有多少大于这个均值的即可,因为大于平均值的必定会移动去填满那些小于平均值的堆。

#include<cstdio>#include<cstring>char s[10000];int main(){    int n,i,j,k=1,a[200],sum,ans;    while(~scanf("%d",&n),n)    {        sum=ans=0;        for(i=0;i<n;i++)        {            scanf("%d",&a[i]);            sum+=a[i];        }        sum/=n;        for(i=0;i<n;i++)        {            if(a[i]>sum) ans+=a[i]-sum;        }        printf("Set #%d\nThe minimum number of moves is %d.\n\n",k++,ans);    }    return 0;}


0 0
原创粉丝点击