首页 > 其他分享 >1828:【02NOIP提高组】均分纸牌

1828:【02NOIP提高组】均分纸牌

时间:2024-10-19 15:21:00浏览次数:1  
标签:10 1828 纸牌 每堆 上取 张牌 02NOIP 编号

1828:【02NOIP提高组】均分纸牌


时间限制: 1000 ms         内存限制: 65536 KB
提交数:2726    通过数: 2102

【题目描述】

有N堆纸牌,编号分别是1,2,3,...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)。

【输入】

N (N堆纸牌,1≤N≤100)

A1,A2,...,An(N堆纸牌.每堆纸牌初始数,1≤Ai≤10000)

【输出】

所有堆均达到相等时的最少移动次数。

【输入样例】

4
9 8 17 6

【输出样例】

3

标签:10,1828,纸牌,每堆,上取,张牌,02NOIP,编号
From: https://www.cnblogs.com/wangyueshuo/p/18475937

相关文章

  • 南沙C++信奥赛陈老师解一本通题: 1828:【02NOIP提高组】均分纸牌
    ​ 【题目描述】有n堆纸牌,编号分别为 1,2,…,n。每堆上有若干张,但纸牌总数必为nn的倍数。可以在任一堆上取若干张纸牌,然后移动。移牌规则为:在编号为1的堆上取的纸牌,只能移到编号为 2 的堆上;在编号为 n 的堆上取的纸牌,只能移到编号为n−1的堆上;其他堆上取的纸牌,可以移到相......
  • 广州C++信奥老师解一本通题 1919:【02NOIP普及组】选数
    ​ 【题目描述】已知nn个整数x1,x2,……xn以及一个整数K(K<n)。从n个整数中任选K个整数相加,可分别得到一系列的和。例如当n=4, k=34个整数分别为3,7,12,193,7,12,19时,可得全部的组合与它们的和为:3+7+12=223+7+19=297+12+19=383+12+19=34现在,要求你计......
  • 均分纸牌问题
    有\(n\)个人排成一列(或一个环),第\(i\)个人手里有\(c_i\)张牌,在每一步操作中,可以让某人给他左边或右边的人一张牌,问最少多少步可以让每个人手中的牌数相等。线性均分纸牌问题首先定义\(\texttt{avg}\)为纸牌总数的平均数,如果\(\texttt{avg}\)不是整数的话,那么就是无解。......
  • 20240905_182821 python 快速体验正则表达式 获取web的url
    导入正则模块元字符\d,匹配一个数字.,匹配任意符号+,修饰左边的东西让它可以匹配一次或无穷次search方法结果=re.search(规则,目标字符串)如果匹配成功可以有结果如果匹配不成功结果就是Nonesearch的结果如果匹配成功了就会得到一个对象想要拿到匹配的值可以让这个结......
  • saveBatch时 遇到Duplicate entry '1828978156126666754' for key
    问题:saveBatch时遇到Duplicateentry'1828978156126666754'forkey分析:1.检查数据库里是否有重复ID      2.检查代码中是否有id赋值     3.       以上排查都没发现问题,以下代码分析了一下,为了节省空间,我在for循环上面new了一个封装类,......
  • 先手后手抓纸牌游戏
    publicclassTest56{//给定一个整型数组arr,代表数值不同的纸牌排成一条线//玩家A和玩家B依次拿走每张纸牌//规定玩家A先拿,玩家B后拿//但是每个玩家每次只能拿走最左或者最右的纸牌//玩家A和玩家B都完成最优方案,返回最后胜利者的分数publics......
  • 题解:P10111 [GESP202312 七级] 纸牌游戏
    题目大意给出三个序列:\(a\),\(b\),\(c\)分别表示:分数,罚分以及小杨从第\(1\)轮至第\(......
  • 题解 P1031 [NOIP2002 提高组] 均分纸牌
    link贪心题中描述每一堆牌只能移动若干张牌到相邻的牌堆上确定了局部最优解必定能推导出全局最优解。易知均分完后,每堆牌的数量都为纸牌总数的平均数\(\mathrm{arg}\)。所以我们可以预处理每堆牌跟\(\mathrm{arg}\)的差距for(inti=1;i<=n;++i)sum+=a[i];......
  • P1031 [NOIP2002 提高组] 均分纸牌
    简单贪心题。如果每个数相等时的数为sum,考虑一个数不等于sum,最好的情况通过一次转移使它变为sum。所以按顺序处理,当前数少从后面拿,当前数多向后面扔,中间记录次数即可。考虑正确性,有人会觉得,如果后面的数不够拿成为了负数,需要从更后面拿,就不止一次转移了。其实,如果遇到上述情......
  • 问题 I: 深入浅出学算法051-均分纸牌
    题目描述有N堆纸牌,编号分别为1,2,…,N。每堆上有若干张,但纸牌总数必为N的倍数。可以在任一堆上取若干张纸牌,然后移动。       移牌规则为:在编号为1堆上取的纸牌,只能移到编号为2的堆上;在编号为N的堆上取的纸牌,只能移到编号为N-1的堆上;其他堆上取的纸牌,可......