已通过UVa测试,代码如下:
#include <stdio.h>
#include <string.h>
char dna[55][1005];
int m,n;
int find_min_dif(void);
int main(void)
{
int i,T;
scanf("%d",&T);
while (T--)
{
scanf("%d%d",&m,&n);
int dif=0;
for (i=0; i<m; i++)
scanf("%s",dna[i]);
dif=find_min_dif();
printf("%d\n",dif);
}
return 0;
}
int find_min_dif(void)
{
int i,j,k,dif=0;
struct cc
{
int c;
char s;
} d[5];
for (i=0; i<5; i++)
{
d[i].c=0;
}
d[0].s='A';
d[1].s='C';
d[2].s='G';
d[3].s='T';
char best[1005];
for (j=0; j<n; j++)
{
for (i=0; i<5; i++)
d[i].c=0;
for (i=0; i<m; i++)
{
if(dna[i][j]==d[0].s) d[0].c++;
if(dna[i][j]==d[1].s) d[1].c++;
if(dna[i][j]==d[2].s) d[2].c++;
if(dna[i][j]==d[3].s) d[3].c++;
}