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