4047 魔方系列——相同高度
此题相当于求最少移动块数,
#include<stdio.h>
int main()
{
int n,i;
int sum,avg,num;
int a[550];
while(~scanf("%d",&n),n)
{
sum=0,avg=0,num=0;
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
sum+=a[i];
}
if(sum%n) puts("Impossible");
else
{
avg=sum/n;
for(i=0;i<n;i++)
if(a[i]>avg) num+=a[i]-avg;
printf("%d\n",num);
}
}
return 0;
}
4049 四叉树 转自bnuoj
#include<cstdio>
#include<cstring>
#include<iostream>
using