【蓝桥杯】省赛:分糖果(思维/模拟)

思路

数据很小,直接暴力模拟。

有意思的是一个列表如何当成循环队列写?可以arr[(i+1)%n]让他右边超出时自动回到开头。

code

python 复制代码
import os
import sys

n = int(input())
arr = list(map(int,input().split()))

ans = 0
while 1:
  arr1 = arr.copy()
  for i in range(n):
    arr1[i] = (arr[i] + arr[(i+1)%n])//2
    if arr1[i] % 2 == 1:
      arr1[i] += 1
      ans += 1
  arr = arr1.copy()
  if len(set(arr)) == 1:break
print(ans)
相关推荐
VT.馒头38 分钟前
【力扣】2625. 扁平化嵌套数组
前端·javascript·算法·leetcode·职场和发展·typescript
草履虫建模3 小时前
力扣算法 121. 买卖股票的最佳时机
算法·leetcode·职场和发展·贪心算法·动态规划·一次遍历
养军博客3 小时前
C语言五天速成(可用于蓝桥杯备考 难度中等偏下)
c语言·算法·蓝桥杯
爱尔兰极光3 小时前
LeetCode--有序数组的平方
算法·leetcode·职场和发展
闻缺陷则喜何志丹4 小时前
【栈 递归】P8650 [蓝桥杯 2017 省 A] 正则问题|普及+
c++·数学·蓝桥杯·递归·
iAkuya4 小时前
(leetcode)力扣100 58组合总和(回溯)
算法·leetcode·职场和发展
Warren984 小时前
Pytest Fixture 作用域详解:Function、Class、Module、Session 怎么选
面试·职场和发展·单元测试·pytest·pip·模块测试·jira
爱尔兰极光4 小时前
LeetCode--移除元素
算法·leetcode·职场和发展
努力学算法的蒟蒻4 小时前
day73(2.1)——leetcode面试经典150
面试·职场和发展
Warren984 小时前
接口测试理论
docker·面试·职场和发展·eureka·ansible