poj3080

来源:互联网 发布:办公软件学习 编辑:程序博客网 时间:2024/05/22 13:56
#include <iostream>#include <string.h>using namespace std;const int len=60;int main(){int i,j;int test;cin>>test;for(int t=1;t<=test;t++){int n;cin>>n;char **DNA=new char*[n];for(int p=0;p<n;p++){DNA[p]=new char[len+1];cin>>DNA[p];}char obj[len+1];int slen=0;int sublen=0;for(i-0;;i++){char dna[len+1];int pi=i;if(pi+sublen>len){sublen++;i=-1;if(sublen>len)break; continue;}for(j=0;j<sublen;j++){dna[j]=DNA[0][pi++];}dna[j]='\0';bool flag=true;for(int k=1;k<n;k++){if(!strstr(DNA[k],dna)){flag=false;break;}}if(flag){if(slen<sublen){slen=sublen;strcpy(obj,dna);}else if(slen==sublen){if(strcmp(obj,dna)>0)strcpy(obj,dna);}}}if(slen<3)cout<<"no significant commonalities"<<endl;elsecout<<obj<<endl;delete DNA;}return 0;}

0 0