题目名称 366. 相似基因
输入输出 gene.in/out
难度等级 ★★☆
时间限制 1000 ms (1 s)
内存限制 128 MiB
测试数据 10
题目来源 Gravatarcqw 于2009-07-14加入
开放分组 全部用户
提交状态
分类标签
动态规划
分享题解
通过:87, 提交:153, 通过率:56.86%
Gravatar521 100 0.000 s 0.00 MiB C++
Gravatardateri 100 0.000 s 0.00 MiB C++
Gravatarcy 100 0.000 s 0.00 MiB C++
GravatarBetray 100 0.002 s 0.21 MiB Pascal
GravatarAAAAAAAAAA 100 0.002 s 0.36 MiB C++
Gravatar雾茗 100 0.002 s 0.36 MiB C++
Gravatarbelong.zmx 100 0.003 s 0.15 MiB Pascal
GravatarDes. 100 0.003 s 0.15 MiB Pascal
Gravatarlucifer 100 0.003 s 0.21 MiB Pascal
Gravataryinggcy 100 0.003 s 0.28 MiB C++
本题关联比赛
20090715
关于 相似基因 的近10条评论(全部评论)
@驴蛋蛋
我就是智障
Gravatar小e
2016-10-30 19:22 4楼
一共打了3个表,抄错2个
GravatarYGOI_真神名曰驴蛋蛋
2016-10-30 14:48 3楼
考试看错题的窝
GravatarGROWL GOOD BOYส็
2016-10-30 14:37 2楼
过一半……
后发现那个对应表抄错了……
唉,蒙在鼓里半年了……
GravatarTruth.Cirno
2012-02-13 21:35 1楼

366. 相似基因

★★☆   输入文件:gene.in   输出文件:gene.out   简单对比
时间限制:1 s   内存限制:128 MiB

问题描述

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

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

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

A

G

T

G

A

T

-

G

-

G

T

-

-

T

A

G


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

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

A

G

T

G

A

T

G

-

G

T

T

A

-

G


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

输入

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

输出

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

样例

gene.in

7 AGTGATG
5 GTTAG

gene.out

14