思路优先在右边放置水晶右边不行再放左边。两边都不行说明激活不了任务失败。def f(nums,n): if n1: print(-1) return -1 needed0 for i in range(n): if nums[i]1: #只有当前是符文的时候才处理 if i0 and nums[i-1]2: continue if in-1 and nums[i1]0: #先防止在左边 nums[i1]2 needed1 elif i0 and nums[i-1]0: #左边不行放置在右边 nums[i-1]2 needed1 else: #两边都不行任务失败 print(-1) return -1 print(needed) return needed def main(): nint(input()) lineinput() numslist(map(int,line.split())) f(nums,n) if __name____main__: main()