码迷,mamicode.com
首页 > 其他好文 > 详细

【贪心】均分纸牌

时间:2019-08-02 20:58:30      阅读:118      评论:0      收藏:0      [点我收藏+]

标签:math   cin   输出   ace   ret   code   stack   mat   map   

原题传送门

思路


讲真的,这道题和积木大赛有点像,我一开始甚至搞混了,不过代码确实也没差多少,总体思路大体一致。
纯纯的贪心,只要一个数的前一个数不为平均数,就把这个数在原来的基础上加上前一个数与平均数的差,并让答案自增,最后输出答案即可~~~

Code


#include<iostream>
#include<cstdio>
#include<string>
#include<vector>
#include<algorithm>
#include<cstdlib>
#include<cmath>
#include<stack>
#include<map>
using namespace std;

int n,i,x,a[101],ans;

int main()
{
    cin>>n;
    for(i=1;i<=n;i++)
        cin>>a[i];
    //a[0]=a[n];
    for(i=1;i<=n;i++)
        x+=a[i];
    x/=n;
    for(i=0;i<=n;i++)
        a[i]-=x;
    for(i=2;i<=n;i++)
    {
        if(a[i-1]!=0)
            a[i]+=a[i-1],ans++;
    }
    
    cout<<ans;
    
    
    return 0;
}

【贪心】均分纸牌

标签:math   cin   输出   ace   ret   code   stack   mat   map   

原文地址:https://www.cnblogs.com/gongdakai/p/11290760.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!