您的位置:首页 > 其它

poj 1477 Box of Bricks

2013-10-31 11:02 281 查看
很简单的题目,我看完题到AC大概一共就7、8分钟。。。同样比赛的时候希望遇到

不过不太完美的是,我presentation error了一次,原因就是结尾还应该打一个空行。。。如果我继续这么不仔细,真的会吃大亏!吸取教训吧。。。

一道很简单的数学问题,思路是:先求平均数,然后求出每个数与平均数的差(绝对值)并累加,最后输出累加和的一半即可

AC的代码:

#include <iostream>

inline int Abs(int n){return n<0?(-n):n;}

int main()
{
	int count=0;
	int n,i;
	int a[55];
	int sum;
	int result;
	//n!=0 等价于 n
	while(scanf("%d",&n) && n)
	{
		count++;
		printf("Set #%d\n",count);

		sum=0;
		for(i=1;i<=n;i++)
		{
			scanf("%d",&a[i]);
			sum+=a[i];
		}

		sum/=n;
		result=0;
		for(i=1;i<=n;i++)
			result+=Abs(sum-a[i]);

		printf("The minimum number of moves is %d.\n\n",result/2);
	}

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