[解题报告]Box of Bricks
题目大意
题目原文:http://uva.onlinejudge.org/external/5/591.pdf
背景
将问题简化就是将积木移动成一样的高度,需要移动的最少木块数。
算法:
注意的是就是输出的格式。我因为这个wor了一次,很不小心,要注意要注意。
代码:
这里附上我的代码,你可以去这里提交你的代码验证你的代码是否正确。
1 #include<stdio.h> 2 #include<math.h> 3 int main(void) 4 { 5 int n,i,sum,average,count,num=1; 6 int h[50]; 7 8 while(scanf("%d",&n)!=EOF) 9 { 10 count=0; 11 sum=0; 12 if(n==0)break; 13 for(i=0;i<n;i++) 14 { 15 scanf("%d",&h[i]); 16 sum+=h[i]; 17 } 18 19 average=sum/n; 20 21 for(i=0;i<n;i++) 22 if(h[i]>average) 23 count+=fabs(h[i]-average); 24 25 printf("Set #%d\n",num++); 26 printf("The minimum number of moves is %d.\n\n",count); 27 } 28 return 0; 29 }