#include<cstdio>
#include<iostream>
#include<cstring>
#include<string>
using namespace std;
char g[2000][2000],ans[2000];
int anss,t,ch[50],n,m;
void solve()
{
int i,j,k;
for(j=1;j<=m;j++)
{
int maxx=-10000;
memset(ch,0,sizeof(ch));
for(i=1;i<=n;i++)
ch[g[i][j]-'A']++;
for(k=0;k<26;k++)
if(ch[k]>maxx){maxx=ch[k];ans[j]=(char)(k+'A');}
}
}
void output()
{
for(int j=1;j<=m;j++)
for(int i=1;i<=n;i++)
if(g[i][j]!=ans[j]) anss++;
for(int i=1;i<=m;i++)
putchar(ans[i]);
printf("\n");
printf("%d\n",anss);
}
int main()
{
//freopen("in.in","r",stdin);
scanf("%d",&t);
for(int i=0;i<t;i++)
{
scanf("%d%d\n",&n,&m);
anss=0;
for(int j=1;j<=n;j++)
{
for(int k=1;k<m;k++)
scanf("%c",&g[j][k]);
scanf("%c\n",&g[j][m]);
}
solve();
output();
}
return 0;
}
UVA 1368(p58)----DNA Consensus String
最新推荐文章于 2024-04-30 19:34:36 发布