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

思路

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

有意思的是一个列表如何当成循环队列写?可以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)
相关推荐
weixin_3077791315 小时前
RAG 面试陷阱——混合检索并非无条件优越:一个条件反转实验
人工智能·python·面试·职场和发展
天真小巫1 天前
2026.11.1总结
职场和发展
驭渊的小故事2 天前
LeetCode 算法题解:滑动窗口与数组合并的实战应用
算法·leetcode·职场和发展
八月的雨季 最後的冰吻2 天前
音视频面试--延迟优化
面试·职场和发展·音视频
Pniubi2 天前
力扣42接雨水(动态规划法)
算法·leetcode·职场和发展
weixin_307779132 天前
RAG 级联失效分析——面试中的错误归因艺术
人工智能·python·面试·职场和发展
Pniubi2 天前
力扣46全排列(回溯(递归))
算法·leetcode·职场和发展
Pniubi3 天前
力扣283移动零(双指针法)
算法·leetcode·职场和发展
frjc3 天前
分布式服务拆分实战指南:从底层逻辑到面试话术
微服务·面试·职场和发展
UIU1143 天前
P16237 [蓝桥杯 2026 省 B] 应急布线
数据结构·c++·算法·蓝桥杯