菜鸡N+1号:贴个不用排序的代码,不知道对不对,欢迎指错
# 输入代码
import sys
inp = []
while True:
line = sys.stdin.readline().strip()
if line == &(3091)#39;':
break
inp.append(line)
(3092)# n = int(inp[0][0]) # 长度
num = inp[1:]
n = len(num)
(3093)# num = sorted(num)
dp = [[0 for _ in range(26)] for _ in range(26)]
# dp[i][j]表示两个字母之间的最大长度,dp[0][1]为以字符a为开头,字符b为结尾的最大长度,dp[0][25]表示以字符a为开头,字符z为结尾的最大长度
for i in range(n):
temp = num[i]
for j in range(ord(temp[0]) - 97 + 1):
for k in range(25, ord(temp[-1]) - 97 - 1, -1):
dp[j][k] = max(dp[j][k], dp[j][ord(temp[0]) - 97] + dp[ord(temp[-1]) - 97][k] + len(temp))
print(dp[0][25])

0 点赞 评论 收藏
分享
创作者周榜
更多
关注他的用户也关注了: