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

思路

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

有意思的是一个列表如何当成循环队列写?可以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)
相关推荐
zhilanguifang3 小时前
面试记录1-春招补录0427
面试·职场和发展
WebGIS小智3 小时前
WebGIS面试题目整合资料
面试·职场和发展
东方翱翔3 小时前
第十六届蓝桥杯大赛软件赛省赛第二场 C/C++ 大学 A 组
算法·职场和发展·蓝桥杯
Y1nhl5 小时前
力扣hot100_子串_python版本
开发语言·python·算法·leetcode·职场和发展
wuqingshun3141595 小时前
蓝桥杯 16. 密文搜索
c++·算法·职场和发展·蓝桥杯·深度优先
理智的灰太狼6 小时前
题目 3320: 蓝桥杯2025年第十六届省赛真题-产值调整
蓝桥杯
天真小巫17 小时前
2025.4.26总结
职场和发展
triticale17 小时前
【蓝桥杯】P12165 [蓝桥杯 2025 省 C/Java A] 最短距离
java·蓝桥杯
懒懒小徐17 小时前
大厂面试-框架篇
面试·职场和发展
一只鱼^_19 小时前
第十六届蓝桥杯大赛软件赛省赛 C/C++ 大学B组 [京津冀]
c语言·数据结构·c++·算法·贪心算法·蓝桥杯·动态规划