您的位置:首页 > 其它

Box of bricks 堆积木

2016-07-21 19:54 260 查看
/*H - Box of Bricks

Time Limit:1000MS Memory Limit:10000KB 64bit IO Format:%lld & %llu

Submi

Status

Description

小Q喜欢堆积木,他把积木堆成几堆,积木的高度不是全部相同的,

这时他想把积木堆成相同的高度,但是他又很懒,他想用最少的移动来完成这个效果,你能帮他么?

Input

输入包含多组测试数据,每组测试数据包含一个N,代表小明的积木的堆数,接下来的N个数代表这N堆积木的高度。

(输入确保积木的总个数能被N整除)当N=0时表示输入结束,N为0不用处理

Output

对于每个测试数据,第一行输出测试的编号,

第二行输出"The minimum number of moves is k.",k代表小Q需要移动的最小数。每个测试例子后面有个空行

Sample Input

6

5 2 4 1 7 5

0

Sample Output

Set #1

The minimum number of moves is 5.*/

#include<stdio.h>//水水水

int main()

{

int brick[1000];

int f=0;

int n,i,aver,count,sum;

while(scanf("%d",&n)&&n!=0)

{

f++;

sum=0;

aver=0;

count=0;

for(i=0;i<n;i++)

{

scanf("%d",&brick[i]);

sum=sum+brick[i];

}

aver=sum/n;

for(i=0;i<n;i++)

{

while(brick[i]>aver)

{

brick[i]--;/求出平均值,多于平均值的搬到其他缺的地方就是移动的次数

count++;

}

}

printf("Set #%d\n",f);

printf("The minimum number of moves is %d.\n",count);

printf("\n");

}

return 0;

}

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: