蓝桥杯2016年第七届真题-密码脱落(python)

时间限制: 1s 内存限制: 128MB 提交: 1146 解决: 306

题目描述

X星球的考古学家发现了一批古代留下来的密码。
这些密码是由A、B、C、D 四种植物的种子串成的序列。
仔细分析发现,这些密码串当初应该是前后对称的(也就是我们说的镜像串)。
由于年代久远,其中许多种子脱落了,因而可能会失去镜像的特征。

你的任务是:
给定一个现在看到的密码串,计算一下从当初的状态,它要至少脱落多少个种子,才可能会变成现在的样子

输入格式

输入一行,表示现在看到的密码串(长度不大于1000)

输出格式

要求输出一个正整数,表示至少脱落了多少个种子。

样例输入

ABCBA

样例输出

0

参考代码:这是参考别人的代码,但系统里面显示超时了,其实本人也没怎么看懂这个思路,欢迎大佬在评论区留言

num = 0
def fcode(left,right,num):
    global out
    if left>right:
        out= min(out,num)
    else:
        if s[left]==s[right]:
            fcode(left+1,right-1,num)
        else:
            fcode(left + 1, right, num + 1)
            fcode(left, right - 1, num + 1)
s = input()
out = len(s)
fcode(0,out-1,0)
print(out

你可能感兴趣的:(算法竞赛,蓝桥杯,python,算法)