您的位置:首页 > 编程语言 > C语言/C++

BNU Box of Bricks

2013-08-18 19:50 417 查看

http://www.bnuoj.com/bnuoj/problem_show.php?pid=1596

这个题一开始以为要求最少移动次数,把我吓到了,原来只要求最少移动几个方块就行了。。这一下就变简单很多了。。

AC代码:
#include<iostream>
#include<cstdio>
#include<algorithm>

using namespace std;

bool cmp(int a, int b)
{
return a<b;
}

int main()
{
int n,i,k,sum,p;
int a[55];
k = 0;
while(scanf("%d",&n)&&n)
{
k++;
sum = 0;
for(i = 0; i < n; i++)
{
scanf("%d",&a[i]);
sum += a[i];
}
sum = sum/n;
sort(a,a+n,cmp);
p = 0;
for(i = 0; i < n; i++)
{
if(a[i] < sum)
{
p+=(sum-a[i]);
}
else
{
break;
}
}
printf("Set #%d\n",k);
printf("The minimum number of moves is %d.\n\n",p);
}

return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  ACM C++ 北师大 BNU