首页 > 代码库 > 杭电 2088 Box of Bricks

杭电 2088 Box of Bricks

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2088

解题思路:一堆高度不同的砖块,需要把它们砌成一堵墙,即每一堆砖的高度相同(即砖的总数除以砖的堆数,即砖的平均值),然后砖的数目比平均数大的需要搬砖给砖的数目比平均数少的,最后把它们加起来就可以了。

反思:PE了两次,因为题目中说的是每一组测试数据之间要空一行,读题要仔细。

#include<stdio.h>int main(){	int n,a[60];	int i,flag=0;	while(scanf("%d",&n)!=EOF&&n)	{		if(flag)			printf("\n");		int sum=0,ave=0,num=0;		for(i=0;i<n;i++)		{			scanf("%d",&a[i]);			sum+=a[i];		}		ave=sum/n;		for(i=0;i<n;i++)		{			if(a[i]>ave)			{				num+=a[i]-ave;			}		}		printf("%d\n",num);		flag=1;	}}

  

杭电 2088 Box of Bricks