欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

洛谷P1031 均分纸牌

程序员文章站 2022-07-16 12:11:16
...

题目链接:洛谷P1031 均分纸牌
洛谷P1031 均分纸牌

程序说明:

贪心算法,先计算出平均数即每堆牌的数目,规定每一堆牌只能由其相邻的右侧牌堆提供(这里的提供有正有负),如果某牌堆的数目恰好已经是正确的数目了则跳过该牌堆。

代码如下:

#include <iostream>
using namespace std;
const int MAX = 10000; 
int n, sum, cnt, a[MAX];
int main() {
	cin>>n;
	for(int i = 0; i < n; i++) {
		cin>>a[i];
		sum += a[i];
	}
	sum /= n;	
	for(int i = 0; i < n; i++) {
		//如果该牌堆的数目已经是正确的则跳过 
		if(a[i] == sum)
			continue;
		else {
			a[i + 1] += a[i] - sum;
			cnt++;
		}
	}
	cout<<cnt;
	return 0;
}
相关标签: 算法题解 贪心