# include<stdio.h>
#define max 55
#define MAX 1100
struct ST
{
int numa;
int numt;
int numc;
int numg;
}st[1010];
int main(void)
{
int t=0;
char z;
scanf("%d", &t);
while(t--)
{
for (int n = 0; n < 1005; n++)
{
st[n].numa = 0;
st[n].numc = 0;
st[n].numt = 0;
st[n].numg = 0;
}
char str[max][MAX];
int x = 0, y = 0,tumb=0,sum=0,j=0 ;
scanf("%d", &x);
scanf("%d", &y);
for(int i=0;i<x;i++)
{
scanf("%s", &str[i]);
}
for (int o = 0; o < y; o++)
{
for (int i = 0; i < x; i++)
{
if (str[i][o] == 'A')
st[o].numa++;
if (str[i][o] == 'T')
st[o].numt++;
if (str[i][o] == 'C')
st[o].numc++;
if (str[i][o] == 'G')
st[o].numg++;
}
}
for (int i = 0; i < y; i++)
{
j = 0;
z = 'A';
if (st[i].numa < st[i].numc)
{
z = 'C';
st[i].numa = st[i].numc;
}
if (st[i].numa < st[i].numg)
{
z = 'G';
st[i].numa = st[i].numg;
}
if (st[i].numa < st[i].numt)
{
z = 'T';
st[i].numa = st[i].numt;
}
j = x - st[i].numa;
sum =sum + j;
printf("%c", z);
}
printf("\n");
printf("%d\n", sum);
}
return 0;
}
纯c