1536.均分纸牌
思路:
本质上是相邻两个单元格之间的传递,当不足的话我们可以实行借的方案,仔细思考下一,就是这个道理。
AC代码如下:
#include<iostream>
#include<cstdio>
using namespace std;
int a[110];
int n;
int sum;
int main() {
cin >> n;
for (int i = 1; i <= n; i ++) {
cin >> a[i];
sum += a[i];
}
int v = sum / n; //均值
for (int i = 1; i <= n; i ++) {
a[i] -= v; //使其减去均值
}
int res = 0;
for (int i = 1; i <= n; i ++) {
if (!a[i]) continue;
else a[i+1] += a[i], res++; //原则上是本单元不够就向下一个单元借,不错就是这样的。
}
cout << res; //输出答案即可
return 0;
}
没有什么能阻止我对知识的追求!!!