3

[NOIP2002 提高组] 均分纸牌

思路

考虑第一堆牌只能与第二堆传递,那么可以直接令其变为平均值。然后发现第二堆牌变成了第一堆,一直继续即可。

#include<bits/stdc++.h>
using namespace std;
int n,a[101],sum,t,i;
int main(){
    scanf("%d", &n);
    for(i=0;i<n;i++){
    	scanf("%d",&a[i]);
		sum+=a[i];	
    }
    sum/=n;
    for(i=0;i<n;i++){
        if(a[i]!=sum){
            a[i+1]+=a[i]-sum;
            ++t;
        }
    }
    cout<<t<<endl;
    return 0;
}
posted @ 2023-02-22 21:45  wscqwq  阅读(8)  评论(0编辑  收藏  举报