读懂了题意的话就很容易了,直接暴力就可以了。
#include <iostream>
#include <fstream>
#include <cstring>
#include <cstdio>
using namespace std;
int m,n;
char s[60][1010];
int cnt[4];
int main()
{
freopen("in.txt","r",stdin);
int T;
cin>>T;
while(T--)
{
cin>>m>>n;
for(int i=1;i<=m;i++)
cin>>s[i];
int err=0;
for(int i=0;i<n;i++)
{
memset(cnt,0,sizeof(cnt));
for(int j=1;j<=m;j++)
{
if(s[j][i]=='A') cnt[0]++;
if(s[j][i]=='C') cnt[1]++;
if(s[j][i]=='G') cnt[2]++;
if(s[j][i]=='T') cnt[3]++;
}
int flag=0,tmp=cnt[0];
if(cnt[1]>tmp) {flag=1;tmp=cnt[1];}
if(cnt[2]>tmp) {flag=2;tmp=cnt[2];}
if(cnt[3]>tmp) {flag=3;tmp=cnt[3];}
err+=m-tmp;
if(flag==0) s[0][i]='A';
if(flag==1) s[0][i]='C';
if(flag==2) s[0][i]='G';
if(flag==3) s[0][i]='T';
}
s[0][n]='\0';
cout<<s[0]<<endl;
cout<<err<<endl;
}
return 0;
}