当前位置: 代码迷 >> 综合 >> HDU1326:Box of Bricks
  详细解决方案

HDU1326:Box of Bricks

热度:108   发布时间:2023-11-06 19:04:40.0

题意:怎样移动最少的方块让所有的方块一样高,求平均一下然后分别算出差值相加就可以了,很水。

#include<iostream>
#include<cstdio>
using namespace std;
int a[100];
int main(){int n,g=1,ju=0;while(scanf("%d",&n)&&n){//	if(ju++) printf("\n");printf("Set #%d\n",g++);int sum=0,co=0;for(int i=0;i<n;i++){scanf("%d",&a[i]);sum+=a[i];}//	cout<<sum<<endl;int ave=sum/n,te;for(int i=0;i<n;i++){te=ave-a[i];if(te<0) te=-te;co+=te; }printf("The minimum number of moves is %d.\n\n",co/2); }return 0;
}