本帖最后由 不可言 于 2014-6-20 20:30 编辑
发布公司:CSDN
有 效 期:2014-06-13至2015-06-13
难 度 等 级:★★★★
答 题 时 长:120分钟
编程语言要求:C C++ Java C#
悬赏详情 一等奖 : 价值4999的诺基亚Lumia1020手机一台。
二等奖 : 价值799的平板电脑一台。
三等奖 : 价值199的移动电源一个。
题目详情
这是个字符串问题。我们的字符串只包含大写字母。我们定义一个字母和它13位以后的字母互补。即A与N互补,B与O互补,C与P互补……,我们需要找一个字符串的两个不重叠的子串,其中一个和另外一个的翻转全互补。另外,因为我们的问题来自生物学,所以我们允许这两个字符串的一个可以删掉两个字符(注意:仅允许一个字符串删掉任意位置的两个字符,另外一个必须全部互补上)。我们的目的是求最长的反向互补子串的长度。
输入格式:
多组数据,每组数据一行,有一个字符串。每个字符串长度不超过2000,只有大写英文字母组成。
输出格式:
每组数据输出一行包含一个整数,表示最长的反向互补子串长度。
答题说明
输入样例
ABCD
ABCDQOPN
ABON
输出样例:
0
2
2
解释:
第一个样例,没有互补的子串。
第二个样例,AB和NO互补,所以反向互补子串的时候我们可以选择NPO,删掉一个P即可。
第三个样例,AB与ON反向互补。
原文链接:http://hero.csdn.net/Question/Details?ID=616&ExamID=611&from=4
注:可以通过原文链接在线答题,。
通过的大神一定要把答案留下啊 |
|