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

洛谷P1031 均分纸牌

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

题目:洛谷P1031 均分纸牌
思路:重点就是都化成正负数的数组之后处理的方法。看题解之后他们是把数组从左到右后一个加上前一个,然后前一个化为0.

#include<iostream>
#include<cmath>
#include<algorithm>
using namespace std;
int main()
{
    int n,sum=0,ave=0,res=0;
    int a[105];
    cin>>n;
    for(int i=0;i<n;i++)
    {
        cin>>a[i];
        sum+=a[i];
    }
    ave=sum/n;
    for(int i=0;i<n;i++)
    {
        a[i]=a[i]-ave;
    }
    for(int i=0;i<n;i++)//巧妙的思维
    {
        if(a[i]!=0)
        {
            a[i+1]+=a[i];
            a[i]=0;
            res++;
        }
    }
    cout<<res<<endl;
    return 0;
}
相关标签: 练习