P1031 均分纸牌 贪心
题目链接
代码如下
//题目只让统计次数,所以变简单了不少
//思路就是,先求平均值,然后和平均值一样的不用调整,不一样的要调整
//因为是相邻之间调整,所以把前俩相加之和算作下一个,直到0为止,加了几次就调整了几次
//0之后如果还有数就接着加,一样道理
#include<cstdio>
using namespace std;
int main()
{
int n,cou[103],avg=0,sum=0,ans=0;
scanf("%d",&n);
for(int i=0;i<n;i++)
{
scanf("%d",&cou[i]);
sum+=cou[i];
}
avg=sum/n;
for(int i=0;i<n;i++)
{
cou[i]=cou[i]-avg;
}
for(int i=0;i<n-1;i++)
{
if(cou[i]==0)
{
continue;
}
else
{
cou[i+1]=cou[i]+cou[i+1];//贪心过程
ans++;
}
}
printf("%d",ans);
return 0;
}