题目描述 Description

有 N 堆纸牌,编号分别为 1,2,…, N。每堆上有若干张,但纸牌总数必为 N 的倍数。可以在任一堆上取若于张纸牌,然后移动。
  移牌规则为:在编号为 1 堆上取的纸牌,只能移到编号为 2 的堆上;在编号为 N 的堆上取的纸牌,只能移到编号为 N-1 的堆上;其他堆上取的纸牌,可以移到相邻左边或右边的堆上。
  现在要求找出一种移动方法,用最少的移动次数使每堆上纸牌数都一样多。

  例如 N=4,4 堆纸牌数分别为:
  ① 9 ② 8 ③ 17 ④ 6
  移动3次可达到目的:
  从 ③ 取 4 张牌放到 ④ (9 8 13 10) -> 从 ③ 取 3 张牌放到 ②(9 11 10 10)-> 从 ② 取 1 张牌放到①(10 10 10 10)。

输入描述 Input Description

第一行N(N 堆纸牌,1 <= N <= 100)
第二行A1 A2 … An (N 堆纸牌,每堆纸牌初始数,l<= Ai <=10000)

输出描述 Output Description

输出至屏幕。格式为:
所有堆均达到相等时的最少移动次数。‘

样例输入 Sample Input

4
9 8 17 6

样例输出 Sample Output

3

解题思路:
在输入的时候将每一个数字相加,然后求出平均值,从数组的在、第一个数开始,若小于平均数,则向后一位数借数补齐为平均数; 大于平均数 则将多余的值分给后一位,以局部最优解,逐渐求的全局最优解..
代码如下:
 1 #include<iostream>
 2
 3 using namespace std;
 4 int a[1000000];
 5 int main()
 6 {
 7     int n,i,sum=0,x=0;
 8     cin>>n;
 9     for(i=0;i<n;i++)
10     {
11         cin>>a[i];
12         sum+=a[i];
13     }
14     int ave=sum/n;
15     for(i=0;i<n;i++)
16     {
17         if(a[i]!=ave)
18         {
19             a[i+1]=a[i+1]+a[i]-ave;
20             a[i]=ave;
21             x++;
22         }
23     }
24     cout<<x<<endl;
25 } 

转载于:https://www.cnblogs.com/wangrunhu/p/7891943.html

Codevs 均分纸牌(贪心)相关推荐

  1. Luogu P1031 均分纸牌(贪心)

    P1031 均分纸牌 题目描述 有 N 堆纸牌,编号分别为 1,2,-, N.每堆上有若干张,但纸牌总数必为 N 的倍数.可以在任一堆上取若干张纸牌,然后移动. 移牌规则为:在编号为 1 堆上取的纸牌 ...

  2. [codevs] 1098 均分纸牌

    均分纸牌 题目描述 Description 有 N 堆纸牌,编号分别为 1,2,-, N.每堆上有若干张,但纸牌总数必为 N 的倍数.可以在任一堆上取若于张纸牌,然后移动. 移牌规则为:在编号为 1 ...

  3. 均分纸牌问题——(分治 + 贪心 + 前缀和 + 中位数 + 排序)

    题目描述 七夕节因牛郎织女的传说而被扣上了「情人节」的帽子. 于是TYVJ今年举办了一次线下七夕祭. Vani同学今年成功邀请到了cl同学陪他来共度七夕,于是他们决定去TYVJ七夕祭游玩. TYVJ七 ...

  4. 105. 七夕祭【环形均分纸牌问题】

    首先你会发现,行交换和列交换是无影响的.故可以分开讨论. 这不就变成了环形均分纸牌的问题了么,和蓝桥杯糖果那题类似. #include<bits/stdc++.h> using names ...

  5. 环形均分纸牌问题(中位数)

    引入1:货仓选址问题 在X轴上有N个商店,其位置位xi(1<i<N),现需要求将货仓在X轴上某一 点,求货仓建在何处时使得货仓到各商店距离之和最小. Sum_distance=∑abs(x ...

  6. 信息学奥赛一本通(1320:【例6.2】均分纸牌(Noip2002))

    1320:[例6.2]均分纸牌(Noip2002) 时间限制: 1000 ms         内存限制: 65536 KB 提交数: 12714     通过数: 6841 [题目描述] 有n堆纸牌 ...

  7. 均分纸牌(线性、环形、二维)

    感觉好久没写博客了- 题目描述 有N堆纸牌,编号分别为1,2,-,N.每堆上有若干张,但纸牌总数必为N的倍数.可以在任一堆上取若干张纸牌,然后移动. 移牌规则为:在编号为1堆上取的纸牌,只能移到编号为 ...

  8. 【NOIP模拟赛】七夕祭(环形均分纸牌)

    七夕节因牛郎织女的传说而被扣上了「情人节」的帽子.于是TYVJ今年举办了一次线下七夕祭.Vani同学今年成功邀请到了cl同学陪他来共度七夕,于是他们决定去TYVJ七夕祭游玩. TYVJ七夕祭和11区的 ...

  9. BZOJ3032 七夕祭 均分纸牌问题的变式 (前缀和+中位数)

    题目: 背景 七夕节因牛郎织女的传说而被扣上了「情人节」的帽子.于是JoyOI今年举办了一次线下七夕祭.Vani同学今年成功邀请到了cl同学陪他来共度七夕,于是他们决定去JoyOI七夕祭游玩. 描述 ...

  10. 【算法专题】均分纸牌问题

    均分纸牌问题 1. 概述 有n个小朋友,每个小朋友手中有一些糖果,每个小朋友都可以把他手中的糖果给相邻的小朋友,问使得所有小朋友手中糖果数量相同需要多少至少给多少次?或者至少传递多少糖果? 存在两种类 ...

最新文章

  1. UIScollerViewUIPageControl的一些使用方法
  2. C++11特性(模板类 initializer_list)
  3. ctrl+Enter 自动加上 .com 而不是 .com.cn
  4. 经典C语言程序100例之九一
  5. 视频专辑:轻松学习flash动画制作视频教程
  6. java注册头像_注册页面头像上传的实现(javaweb相关)
  7. 信息通信建设工程预算定额_通信建设工程概预算
  8. kubernetes(一)kubeadm搭建k8s集群
  9. 硬币游戏 Project Euler 232
  10. Linux的软件包封装格式有,linux软件安装包详解---全
  11. Java中的关键字@Override解释
  12. 计算机文化基础(高职高专版 第十一版)第九章 答案
  13. 星际争霸环境旧版本replay回放无法观看问题
  14. 洛谷3678:简单的数学题(画柿子+杜教筛)
  15. f检验matlab计算,方差分析F检验的步骤和判定
  16. 计算机系统:计算机系统的基本组成
  17. 《Android开发偶遇有趣算法问题》---获得地图方圆r米内的一个随机坐标点(求单位圆内随机点)
  18. 正大国际期货:若想期货交易持续盈利务必牢记333仓位控制法
  19. clang vectorization
  20. 为什么普通树没有中序遍历和森林没有后序遍历

热门文章

  1. JS 100内与7相关的数
  2. javaweb使用 window.location.href 传中文参数 乱码问题
  3. 2004-7-1+ 用户控件(动态加载)
  4. DAY 34 进程通信、消费者模型和线程
  5. ubuntu安装QGIS
  6. [LeetCode] 125. Valid Palindrome Java
  7. 2.6 利用FTP上传所有文件
  8. Spring 集成 AspectJ的原理
  9. Cocos开发中性能优化工具介绍(一):Xcode中Instruments工具使用
  10. DDraw笔记-创建表面