【蓝桥杯】省赛:分糖果(头脑/模仿)

打印 上一主题 下一主题

主题 972|帖子 972|积分 2916


思路

数据很小,直接暴力模仿。
有意思的是一个列表怎样当成循环队列写?可以arr[(i+1)%n]让他右边超出时自动回到开头。
code

  1. import os
  2. import sys
  3. n = int(input())
  4. arr = list(map(int,input().split()))
  5. ans = 0
  6. while 1:
  7.   arr1 = arr.copy()
  8.   for i in range(n):
  9.     arr1[i] = (arr[i] + arr[(i+1)%n])//2
  10.     if arr1[i] % 2 == 1:
  11.       arr1[i] += 1
  12.       ans += 1
  13.   arr = arr1.copy()
  14.   if len(set(arr)) == 1:break
  15. print(ans)
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

盛世宏图

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表