• LA3602DNA序列


    题意:
         给你一个一些DNA序列(只有ACGT)然后让你构造一个序列,使得所有的序列到他的Hamming距离最小,所有的序列包括构造的序列长度都是N,Hamming表示两个序列的不同字符位置个数,比如ACCT AACA 第二个和第四个位置不同,所以距离是2.


    思路:
         简单题目,我们一位一位构建,每一位都是独立的,我们选择出现次数最多的字母(如果最多的不止一个,那么我们选择ASCII小的)作为答案,其他的和加到总的距离里面去。


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


    char map[55][1100];
    char Ans[1100];


    int main ()
    {
        int t ,n ,m ,i ,j ,sum;
        int A ,T ,G ,C;
        scanf("%d" ,&t);
        while(t--)
        {
           scanf("%d %d" ,&n ,&m);
           for(i = 1 ;i <= n ;i ++)
           scanf("%s" ,&map[i]);
           sum = 0;
           for(i = 1 ;i <= m ;i ++)
           {
              A = G = C = T = 0;
              for(j = 1 ;j <= n ;j ++)
              if(map[j][i-1] == 'A') A ++;
              else if(map[j][i-1] == 'G') G ++;
              else if(map[j][i-1] == 'C') C ++;
              else T ++;
               int max = A;
               char ch = 'A';
               if(max < C) max = C ,ch = 'C';
               if(max < G) max = G ,ch = 'G';
               if(max < T) max = T ,ch = 'T';
               Ans[i-1] = ch;
               sum = sum + A + G + C + T - max;
        }
        Ans[m] = '';
        puts(Ans);
        printf("%d " ,sum);
      
       }
       return 0;
    }
           



  • 相关阅读:
    表单自动填充autocomplete的兼容性方案
    函数的默认参数值
    利用zookeeper搭建hadoop HA集群
    zookeeper设置开机启动项
    zookeeper集群挂了的恢复流程
    zookeeper集群搭建
    docker 安装ElasticSearch的中文分词器IK
    [1]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
    把mysql服务设置开机启动项
    docker-compose的使用
  • 原文地址:https://www.cnblogs.com/csnd/p/12062648.html
Copyright © 2020-2023  润新知