基因检测

来源:互联网 发布:翁虹 三级 知乎 编辑:程序博客网 时间:2024/04/28 01:16
描述
用一个字符串表示一段基因,例如:“CTATGGGTTT”。两段基因的相似度定义为它们所包含的最大公共子串的长度。例如:“CCTTGG”和“TGGGC”的最大公共子串为“TGG”,它的长度为3,则我们称“CCTTGG”和“TGGGC”的相似度为3。现给定两段基因,要求计算它们的相似度。
输入
输入第一行包含一个正整数N(0<N<100),表示测试数据的数目;接下来N行,每行包含两个字符串(每个字符串长度小于等于20),用一个空格隔开,分别表示给定的两段基因。
输出
对于每组测试数据输出一行,该行包含一个整数,表示给定基因段的相似度。
样例输入
2CCCCC TTTTTGGGGGCCACTGGG DDD
样例输出
20
#include<iostream>using namespace std;int main(){ char a[21];char b[21];int n,i,max=0;cin>>n;while(n){cin>>a>>b;for(char *a1=a;*a1!='\0';a1++)for(char *b1=b;*b1!='\0';b1++){for(i=0;*(a1+i)!='\0' || *(b1+i)!='\0';i++){if(*(a1+i)!=*(b1+i))break;}if(max<i)max=i;}cout<<max<<endl;max=0;n--;}return 0;}


原创粉丝点击