#L0419. 基因序列相似度

基因序列相似度

题目背景

在生物信息学中,基因可以看作由四种核苷酸组成的序列,简记为 A, C, G, T。研究人员经常需要衡量两条基因序列之间的相似程度,这对于疾病诊断和药物研发有着重要意义。

题目描述

两条基因序列的相似度计算方法如下:

将两条序列的碱基逐位对应,中间可以插入空位 -。例如,序列 AGTGATGGTTAG 可以对齐为:

$$\def\arraystretch{1.5} \begin{array}{|c|c|c|c|c|c|c|c|} \hline \tt A & \tt G & \tt T & \tt G & \tt A & \tt T & \texttt - & \tt G \\ \hline \texttt - & \tt G & \tt T & \texttt - & \texttt - & \tt T & \texttt A & \tt G \\ \hline \end{array}$$

每对碱基之间的相似度由下表给出:

$$\def\arraystretch{1.5} \begin{array}{ |c|c|c|c|c|c|} \hline & \tt A & \tt C & \tt G & \tt T & \texttt - \\ \hline \tt A & 5 & -1 & -2 & -1 & -3\\ \hline \tt C & -1 & 5 & -3 & -2 & -4 \\\hline \tt G & -2 & -3 & 5 & -2 & -2 \\\hline \tt T & -1 & -2 & -2 & 5 & -1 \\\hline \texttt - & -3 & -4 & -2 & -1 & * \\\hline \end{array}$$

上述对齐的相似度为:(3)+5+5+(2)+(3)+5+(3)+5=9(-3)+5+5+(-2)+(-3)+5+(-3)+5=9

由于对齐方式不唯一,相似度定义为所有对齐方式中相似度的最大值。例如另一种对齐:

$$\def\arraystretch{1.5} \begin{array}{|c|c|c|c|c|c|c|} \hline \tt A & \tt G & \tt T & \tt G & \tt A & \tt T & \tt G \\ \hline \texttt - & \tt G & \tt T & \texttt T & \texttt A & \texttt - & \tt G \\ \hline \end{array}$$

相似度为:(3)+5+5+(2)+5+(1)+5=14(-3)+5+5+(-2)+5+(-1)+5=14

输入格式

共两行。每行首先是一个整数 nn,表示基因序列的长度;隔一个空格后是一个基因序列,序列中只含 A,C,G,T\verb!A!,\verb!C!,\verb!G!,\verb!T! 四种字母。1n1001 \le n\le 100

输出格式

仅一行,即两条基因序列的最大相似度。

样例

7 AGTGATG
5 GTTAG
14

提示

答案不唯一,评测使用 Special Judge 校验输出是否合法。

难度 普及
通过率
尝试 0
已通过 0
ID
1147
类型
传统题
Time Limit
1000ms
Memory Limit
125MiB
上传者