题目信息

题目类型
练习
题目年份
2024
题目题型
编程题
关 键 词
均分纸牌

题目题干

均分纸牌(Noip2002)M5E100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

【题目描述】

有n堆纸牌,编号分别为 1,2,…, n。每堆上有若干张,但纸牌总数必为n的倍数。可以在任一堆上取若干张纸牌,然后移动。M5E100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

移牌规则为:在编号为1的堆上取的纸牌,只能移到编号为 2 的堆上;在编号为 n 的堆上取的纸牌,只能移到编号为n-1的堆上;其他堆上取的纸牌,可以移到相邻左边或右边的堆上。M5E100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

现在要求找出一种移动方法,用最少的移动次数使每堆上纸牌数都一样多。M5E100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

例如 n=4,4堆纸牌数分别为:  ① 9 ② 8 ③ 17 ④ 6M5E100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

移动3次可达到目的:M5E100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

从 ③ 取4张牌放到④(9 8 13 10)->从③取3张牌放到 ②(9 11 10 10)-> 从②取1张牌放到①(10 10 10 10)。M5E100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

【输入】

n(n 堆纸牌,1 ≤ n ≤ 100)M5E100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

a1 a2 … an (n 堆纸牌,每堆纸牌初始数,l≤ ai ≤10000)。M5E100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

【输出】

所有堆均达到相等时的最少移动次数。M5E100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

【输入样例】

4
9 8 17 6

【输出样例】

3

答案解析

相关题目

删数问题(Noip1994)【题目描述】输入一个高精度的正整数n,去掉其中任意s个数字后剩下的数字按原左右次序组成一个新的正整数。编程对给定的n和s,寻找一种方案使得剩下的数字组成的新数最小。输出新的
均分纸牌(Noip2002)【题目描述】有n堆纸牌,编号分别为 1,2,…, n。每堆上有若干张,但纸牌总数必为n的倍数。可以在任一堆上取若干张纸牌,然后移动。移牌规则为:在编号为1的堆上取的纸牌,只
排队接水【题目描述】有n个人在一个水龙头前排队接水,假如每个人接水的时间为Ti,请编程找出这n个人排队的一种顺序,使得n个人的平均等待时间最小。【输入】共两行,第一行为n(1≤n≤1000);第二行分
函数重载与函数覆盖有什么不同,它们与多态有什么关系?
拷贝构造函数在哪几种情况下调用?
虚析构函数有什么作用?
关于 new 运算符的下列描述中,()是错的。 a.它可以用来动态创建对象和对象数组 b.使用它创建的对象和对象数组可以使用运算符 delete 删除 c.使用它创建对象时要调用构造函数 d.使用它创
关于虚函数的描述中,()是正确的。 a.虚函数是一个 static 类型的成员函数 b.虚函数是一个非成员函数 c.基类中说明了虚函数后,派生类中将其对应的函数可不必说明为虚函数 d.派生类的虚函数与
已知:print( )函数是一个类的常成员函数,它无返回值,下列表示中,()是正确的。 a. void print( ) const; b.const void print( ); b. void c
 C++ 是用( )实现接口重用的 a.内联函数 b.虚函数 c.重载函数 ​​​​​​​d.模板函数

提示声明

  • 免责声明:本站资源均来自网络或者用户投稿,仅供用于学习和交流:如有侵权联系删除!
  • 温馨提示:本文属于积分文章,需要充值获得积分或升级VIP会员,也可在会员中心投稿获取。

猜你喜欢