第一行:N
第2至N+1行:每行一个数,代表糖果数
一个数,请输出胜利者比失败者多拿多少糖果
4 1 55 41 2
15
小明先选择55,此时环从55处断开,变为序列[41, 2, 1]
小红选择行首的41,此时剩余的序列为[2, 1]
小明选择行首的2,此时剩余的序列为[1]
小红选择剩余的1。
此时小明胜利,比小红多15个糖果
dic={} def res(ary): if not ary: return 0 if not ary in dic: dic[ary]=min(-res(ary[1:])-ary[0],-res(ary[:-1])-ary[-1])#对于对手来说,对手得分是负的自己得分 return dic[ary] a=int(input()) aa=[int(input()) for _ in range(a)] print (abs(max([-res(tuple(aa[i:]+aa[:i])) for i in range(a)])))