#include
int main()
{
int t,m,n;
scanf("%d",&t);
for(;t>0;t--)
{
scanf("%d %d",&m,&n);
char str[55][1005];
for(int i=0;i"%s",&str[i]);
getchar();
}
int number[4]={0,0,0,0};
int sum=0;
for(int j=0;j0;i'A')
{ number[0]++;}
else if(str[i][j]=='G')
{number[1]++;}
else if(str[i][j]=='C')
{number[2]++;}
else if(str[i][j]=='T')
{ number[3]++;}
}
if(number[0]>=number[1]&&number[0]>=number[2]&&number[0]>=number[3])
{ printf("A");
sum=sum+m-1-number[0];
}
if(number[2]>number[0]&&number[2]>=number[1]&&number[2]>=number[3])
{ printf("C");
sum=sum+m-1-number[2];
}
if(number[1]>number[0]&&number[1]>number[2]&&number[1]>=number[3])
{ printf("G");
sum=sum+m-1-number[1];
}
if(number[3]>number[0]&&number[3]>number[1]&&number[3]>number[2])
{ printf("T");
sum=sum+m-1-number[3];
}
}
printf("\n");
printf("%d\n",sum);
}
}
题目
给了小南m个长度均为n的DNA序列(只包含A、C、G、T),要小南找到一个新的长度为n的DNA序列,使其到所有m个已知的DNA序列的总憨憨距离最小。
憨憨距离的定义为: 两个等长字符串的憨憨距离等于字符不同的位置个数。
例如下面这两个DNA序列的憨憨距离为2。
TATGATAC
TAAGCTAC
输出是一堆感觉相关又毫不相关的东西,不知道哪里出错了。。