|
发表于 2020-3-16 19:37:04
|
显示全部楼层
zltzlt 发表于 2020-3-16 13:28
解答错误
输入:[0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0] - def fun352(scores:list):
- if(len(scores) == 0):
- return None
- elif(len(scores) == 1):
- return True
- player1 = 0
- player2 = 0
- Sum = sum(scores)
- def choice(scores:list, Cur:int, Next:int):
- length = len(scores)
- if(length == 0):
- return None
- elif(length == 1):
- return 0
- elif(1 < length < 4):
- return scores.index(max(scores[0],scores[-1]))
- if(scores[1] >= scores[-2]):
- if((scores[1] + min(scores[0],scores[-1]) > scores[-2] + max(scores[0],scores[-1]))):
- return -1
- else:
- return scores.index(max(scores[0],scores[-1]))
- else:
- if((scores[-2] + min(scores[0],scores[-1]) > scores[1] + max(scores[0],scores[-1]))):
- return 0
- else:
- return scores.index(max(scores[0],scores[-1]))
-
- while(scores != []):
- index = choice(scores, player1, player2)
- player1 += scores.pop(index)
- index = choice(scores, player2, player1)
- if(index == None):
- break
- else:
- player2 += scores.pop(index)
- if(player1 >= player2):
- return True
- else:
- return False
复制代码
忘删一个条件了 |
|