题解 P1031 【均分纸牌】
这题我的方法是:
1.算平均数。
2.求每堆纸牌与平均数的关系(多1记为1,少1记为-1)。
3.当q[y](第y堆纸牌与平均数的关系)不等于0时,q[y+1]=q[y+1]+q[y],移动次数加1。
#include <iostream>
using namespace std;
int main()
{
int a,p=0,js=0; cin >>a;int q[a];
for (int y=0;y<a;y++){cin >>q[y]; p+=q[y];} p/=a;
for (int y=0;y<a;y++)q[y]-=p;
for (int y=0;y<a;y++) {if (q[y]==0)continue; q[y+1]+=q[y]; js++; }
cout <<js;
return 0;
}