#11461. 相似基因

内存限制:256 MiB 时间限制:1000 ms 输入文件: gene.in 输出文件: gene.out
题目类型:传统 评测方式:文本比较
上传者: Turing001

题目描述

大家都知道,基因可以看作一个碱基对序列。它包含了 4 种核苷酸,简记作 A,C,G,T 。生物学家正致力于寻找人类基因的功能,以利用于诊断疾病和发明药物。

在一个人类基因工作组的任务中,生物学家研究的是:两个基因的相似程度。因为这个研究对疾病的治疗有着非同寻常的作用。

两个基因的相似度的计算方法如下:

对于两个已知基因,例如 AGTGATG GTTAG ,将它们的碱基互相对应。当然,中间可以加入一些空碱基─,例如:

这样,两个基因之间的相似度就可以用碱基之间相似度的总和来描述,碱基之间的相似度如下表所示:

那么相似度就是: (-3)+5+5+(-2)+(-3)+5+(-3)+5=9 。因为两个基因的对应方法不唯一,例如又有:

相似度为: (-3)+5+5+(-2)+5+(-1)+5=14 。规定两个基因的相似度为所有对应方法中,相似度最大的那个。

输入格式

共两行。每行首先是一个整数,表示基因的长度;隔一个空格后是一个基因序列,序列中只含 A,C,G,T 四个字母。

1 \le 序列的长度 \le 100

输出格式

仅一行,即输入基因的相似度。

样例

样例输入 #1

7 AGTGATG
5 GTTAG

样例输出 #1

14

数据范围与提示

【注意事项】

1、请使用文件输入输出

freopen("gene.in", "r", stdin);
freopen("gene.out", "w", stdout);

2、保存源文件

源文件命名:gene.cpp
源文件存放:在桌面上建立以你的考号命名的文件夹,再建立gene子文件夹,将源文件放入gene子文件夹下。