zoukankan      html  css  js  c++  java
  • UVa1368/ZOJ3132 DNA Consensus String

    #include <stdio.h>
    #include <string.h>

    int main()
    {
        int a[4][1000]; // A/C/G/T在每列中出现的次数
        char c, x;
        char bas[4] = { 'A', 'C', 'G', 'T' };
        int T, m, n, i, j, k, dist;
        scanf("%d", &T);
        while (T--)
        {
            scanf("%d %d ", &m, &n);
            memset(a, 0, sizeof(a));
            for (i = 0; i < m; ++i)
            {
                for (j = 0; j < n; ++j)
                {
                    c = getchar();
                    if (c == 'A')
                        ++a[0][j];
                    else if (c == 'C')
                        ++a[1][j];
                    else if (c == 'G')
                        ++a[2][j];
                    else
                        ++a[3][j];
                }
                getchar();
            }

            dist = 0;
            for (j = 0; j < n; ++j)
            {
                k = -1;
                for (i = 0; i < 4; ++i)
                {
                    if (a[i][j] > k)
                    {
                        k = a[i][j];
                        x = bas[i];
                    }
                }
                for (i = 0; i < 4; ++i)
                {
                    if (bas[i] != x)
                        dist += a[i][j];
                }
                putchar(x);
            }
            printf(" %d ", dist);
        }

        return 0;
    }

  • 相关阅读:
    MySQL表的四种分区类型
    微信开发配置(Yii框架下的开发)
    一道编程题—输出字符串内重复的数字
    无序数组内查找指定值(快速查找)
    指针
    chmod
    cookie和session的区别
    使用keytool生成证书
    人大金仓修改最大连接数
    数据库链接地址
  • 原文地址:https://www.cnblogs.com/danny1221/p/4592719.html
Copyright © 2011-2022 走看看