我是刘昱程 2023-01-29 12:32 采纳率: 100%
浏览 113
已结题

有没有人讲一下解题思路

有N个小朋友从左到右排成一排,每个小朋友手中都有一定数量的糖果,且糖果总数量是N的倍数。

计算出最少调整几次可以使每个小朋友的糖果数量相同。

调整规则如下:

规则1:每个小朋友的糖果只能调整到左右相邻的两个小朋友手中:

规则2:第一个小朋友的糖果只能调整到第二个小朋友手中:

规则 3:最后一个小朋友的糖果,只能调整到倒数第二个小朋友手中。

image

例如:N 等于3时,1~3号小朋友原有糖果数量分别为6,4,2。

1)1号小朋友拿出两块给2号小朋友;

2)2号小朋友拿出两块给3号小朋友;

两次操作后三个小朋友手中糖果分别为 4,4,4。

即按照调鉴规则最少操作2次可以使 3个小朋友手中糖果数量都相同。

现按照顺序给出1~N号小朋友手中原有糖果数量,按照调整规则计算出最少调整几次可以使小朋友手中的糖果数量都相同。

输入描述:
第一行输入一个正整数N(N<50),表示有N个小朋友

第二行输入N个正整数 (1<正整数<100),表示1到N号小朋友手中原有糖果数量,正整数之间以一个空格隔开,且所有正整数之和是 N的倍数

输出描述:
输出一个正整数,表示按照调整规则最少调整几次可以使小朋友手中的糖果数量都相同

  • 写回答

1条回答 默认 最新

  • 社区专家-Monster-XH 2023-01-29 12:54
    关注

    请采纳:
    解题思路:

    首先,计算出所有小朋友手中糖果的平均数,因为糖果总数量是 N 的倍数,所以平均数也一定是 N 的倍数。
    接着,从左到右遍历每个小朋友,计算出每个小朋友手中糖果数量与平均数的差值,并累加到答案中。
    最后,输出答案即可。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
    1人已打赏

报告相同问题?

问题事件

  • 系统已结题 2月6日
  • 已采纳回答 1月29日
  • 创建了问题 1月29日

悬赏问题

  • ¥15 如何扩大AIS数据容量
  • ¥15 单纯型python实现编译报错
  • ¥15 c++2013读写oracle
  • ¥15 c++ gmssl sm2验签demo
  • ¥15 关于模的完全剩余系(关键词-数学方法)
  • ¥15 有没有人懂这个博图程序怎么写,还要跟SFB连接,真的不会,求帮助
  • ¥15 PVE8.2.7无法成功使用a5000的vGPU,什么原因
  • ¥15 keil官网下载psn序列号在哪
  • ¥15 想用adb命令做一个通话软件,播放录音
  • ¥30 Pytorch深度学习服务器跑不通问题解决?