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;
    }

  • 相关阅读:
    对技术的态度
    码农提高工作效率
    为什么要使用String
    Java还是程序员的金饭碗
    为什么Java7开始在数字中使用下划线
    阿里云快速搭建一个静态网站
    IDEA中Springboot项目部署到阿里云linux服务器
    Linux环境下安装宝塔面板
    阿里云服务器的购买和配置以及搭建项目教程
    linux服务器上部署springboot项目,并让他持续运行到后台
  • 原文地址:https://www.cnblogs.com/danny1221/p/4592719.html
Copyright © 2011-2022 走看看