比赛场次 | 38 |
---|---|
比赛名称 | 20090715 |
比赛状态 | 已结束比赛成绩 |
开始时间 | 2009-07-15 08:10:00 |
结束时间 | 2009-07-15 11:50:00 |
开放分组 | 全部用户 |
注释介绍 | 2009暑期培训A班 |
题目名称 | 相似基因 |
---|---|
输入输出 | gene.in/out |
时间限制 | 1000 ms (1 s) |
内存限制 | 128 MiB |
测试点数 | 10 简单对比 |
用户 | 结果 | 时间 | 内存 | 得分 |
---|---|---|---|---|
cqw | AAAAAAAAAA | 0.000 s | 0.00 MiB | 100 |
问题描述
大家都知道,基因可以看作一个碱基对序列。它包含了 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