阅读538 返回首页    go 阿里云 go 技术社区[云栖]


poj 1477 Box of Bricks

很简单的题目,我看完题到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;
}


最后更新:2017-04-03 14:54:00

  上一篇:go Java IO--管道流PipedOutputStream/PipedInputStream
  下一篇:go Java IO--内存操作流ByteArrayInputStream/ByteArrayOutputStream