首页 > 其他分享 >[2002年NOIP提高组] 均分纸牌

[2002年NOIP提高组] 均分纸牌

时间:2022-08-16 11:44:14浏览次数:88  
标签:NOIP 纸牌 int 平均数 2002 step ave

[2002年NOIP提高组] 均分纸牌

思路:贪心算法。将n堆纸牌的平均数算出来,将每堆纸牌i与平均数的差值转到i+1堆纸牌上,每操作一步,计数器+1。最后输出操作步数就好。

代码如下:

#include<iostream>

using namespace std;

int a[10010];

int main()

{

      int n;

      cin>>n;

      int ave=0,step=0;

      for(int i=1;i<=n;i++)

      {

           cin>>a[i];

           ave+=a[i];

      }

      ave/=n;//平均数

      for(int i=1;i<=n;i++)

      {

           if(a[i]>ave)//这个数>平均数

           {

                 step++;

                 a[i+1]+=a[i]-ave;//后面的数+多余的

           }

           if(a[i]<ave)//这个数<平均数

           {

                 step++;

                 a[i+1]-=ave-a[i];//后面的数-少了的

           }

      }

      cout<<step<<endl;

      return 0;

}

标签:NOIP,纸牌,int,平均数,2002,step,ave
From: https://www.cnblogs.com/xdzxyingrui/p/16591048.html

相关文章

  • [2002年NOIP提高组] 均分纸牌
    [2002年NOIP提高组]均分纸牌分析:根据题意,先求所有数字的平均数,然后遍历数字与平均数比较,如果大于平均数,那么后一堆纸牌加上前一堆纸牌多出来的,同时步数+1,反之如果小于平......
  • [NOIP2007 普及组] 纪念品分组
    题目链接:https://www.luogu.com.cn/problem/P1094试题分析:乐乐要进行分组,分组原则是一个组中最多两个数,且两数之和小于给定的上限值,乐乐想找到最少能分多少组。我们发现,这......
  • [2007年NOIP普及组] 纪念品分组
    分析:因为最多两个一组,所以可以按最大的和最小的一组,是否满足条件,如果满足,同时赋值0,.#include<bits/stdc++.h>usingnamespacestd;intn,m,i,a[300000],s=0,j;intmain()......
  • [NOIP2002 提高组] 均分纸牌
    题目链接:https://www.luogu.com.cn/problem/P1031试题分析:首先分析样例:输入样例后,我们要先求出平均值,进而求出与平均值的差值: 我们能够得到三次移动:1.  7向右-4变......
  • [2002年NOIP提高组] 均分纸牌
    分析:每次移动都需要将其补全或删掉,如果这个正好是平均数,则步骤次数不增加98176-1-27-40-34-4004-40000#include<bits/stdc++.h>usingnamespacestd;......
  • [2013年NOIP提高组] 积木大赛
    [2013年NOIP提高组]积木大赛思路:只需要进行n次循环,(两个数之间,如果后面的数大于前面的)用后面的数-前面的差值累加,就能得出操作次数啦~代码如下:#include<iostream>#incl......
  • [2004年NOIP普及组] FBI树
    [2004年NOIP普及组]FBI树思路:运用递归。已知“0”和“1”组成的字符串分为三类:全“0”串称为B串,全“1”串称为I串,既含“0”又含“1”的串则称为F串。写一个后序遍历的函......
  • [2001年NOIP普及组] 数的计算
    我们要求找出具有下列性质数的个数(包含输入的自然数n):先输入一个自然数n(n<=1000),然后对此自然数按照如下方法进行处理:1.不作任何处理;2.在它的左边加上一个自然数,但......
  • NC16681 [NOIP2003]加分二叉树
    题目链接题目题目描述​设一个n个节点的二叉树tree的中序遍历为(l,2,3,…,n),其中数字1,2,3,…,n为节点编号。每个节点都有一个分数(均为正整数),记第j个节点的分数为di,t......
  • [2007年NOIP普及组] 奖学金
    某小学最近得到了一笔赞助,打算拿出其中一部分为学习成绩优秀的前5名学生发奖学金。期末,每个学生都有3门课的成绩:语文、数学、英语。先按总分从高到低排序,如果两个同学总分......