[解题报告]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 }

 

posted @ 2013-02-20 20:33  乱七八糟 。  阅读(272)  评论(0编辑  收藏  举报