1. 程式人生 > >洛谷 P1031 均分紙牌 貪心

洛谷 P1031 均分紙牌 貪心

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;
}