洛谷P1031 均分纸牌
程序员文章站
2022-07-16 12:11:16
...
题目链接:洛谷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;
}
上一篇: 洛谷P1031 均分纸牌
下一篇: P1031 均分纸牌(模拟)