本题只有四个字符,用常量数组存储它们
#include <cstdio>
#include <cstring>
char a[100][1500];
int b[10];
int main()
{
int cnt, m, n, hamming= 0,maxum = 0;
char c[10] ="ACGT";
scanf("%d",&cnt);
while(cnt--)
{
scanf("%d%d",&m,&n);
getchar();
for(int i = 0; i < m; i++)
{
for(int j = 0; j < n;j++)
scanf("%c",&a[i][j]);
getchar();
}
for(int j = 0; j < n; j++)
{
memset(b,0,sizeof(b));
for(int i = 0; i < m; i++)
{
if(a[i][j] == 'A')
b[0]++;
if(a[i][j] == 'C')
b[1]++;
if(a[i][j] == 'G')
b[2]++;
if(a[i][j] == 'T')
b[3]++;
}
for(int i = 1; i < 4; i ++)
if(b[i] > b[maxum])
maxum = i;
printf("%c",c[maxum]);
for(int i = 0; i < 4; i ++)
if(i != maxum )
hamming += b[i];
maxum = 0;
}
printf("\n%d\n",hamming);
hamming = 0;
}
return 0;
}