洛谷P1031 均分纸牌
程序员文章站
2022-07-16 12:11:22
...
题目:
思路:重点就是都化成正负数的数组之后处理的方法。看题解之后他们是把数组从左到右后一个加上前一个,然后前一个化为0.
#include<iostream>
#include<cmath>
#include<algorithm>
using namespace std;
int main()
{
int n,sum=0,ave=0,res=0;
int a[105];
cin>>n;
for(int i=0;i<n;i++)
{
cin>>a[i];
sum+=a[i];
}
ave=sum/n;
for(int i=0;i<n;i++)
{
a[i]=a[i]-ave;
}
for(int i=0;i<n;i++)//巧妙的思维
{
if(a[i]!=0)
{
a[i+1]+=a[i];
a[i]=0;
res++;
}
}
cout<<res<<endl;
return 0;
}
上一篇: Investment 背包
下一篇: 洛谷P1031 均分纸牌