算法竞赛入门经典(刘汝佳)习题3-7 UVa1368

来源:互联网 发布:淘宝信誉等级表 编辑:程序博客网 时间:2024/05/16 16:10
#include<stdio.h>#define MAXM 50#define MAXN 1000int main(){    int kase = 0;    scanf("%d", &kase);    while(kase--)    {        int m = 0, n = 0;        char dna[MAXM][MAXN] = {'\0'};        int count[4][MAXN] = {0};        int count_cha = 0;        scanf("%d %d", &m, &n);        for(int i = 0; i < m; i++)        {            scanf("%s", dna[i]);            for(int j = 0; j < n; j++)            {                if(dna[i][j] == 'A')                    count[0][j]++;                if(dna[i][j] == 'C')                    count[1][j]++;                if(dna[i][j] == 'G')                    count[2][j]++;                if(dna[i][j] == 'T')                    count[3][j]++;            }        }        for(int j = 0; j < n;j++)        {            int index = 0;            for(int k = 1; k < 4; k++)            {                if(count[index][j] < count[k][j])                    index = k;            }            count_cha += (m - count[index][j]);            if(index == 0)                printf("A");            else if(index == 1)                printf("C");            else if(index == 2)                printf("G");            else                printf("T");        }        printf("\n%d\n",count_cha);    }    return 0;}
0 0
原创粉丝点击