您的位置:首页 > 其它

UVA - 591 Box of Bricks (水题)

2014-12-24 20:58 429 查看
给你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;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: