zoukankan      html  css  js  c++  java
  • 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;
    }
           



  • 相关阅读:
    easyui学习笔记1—增删改操作
    sql点滴37—mysql中的错误Data too long for column '' at row 1
    javascript获取当前url
    escape()、encodeURI()、encodeURIComponent()区别详解
    js文本框提示和自动完成
    javascript js string.Format()收集
    超链接标签为什么会造成页面颤抖
    asp.net mvc 4.0常见的几个问题
    如何使用Flashfxp上传下载文件
    点击按钮显示谷歌地图
  • 原文地址:https://www.cnblogs.com/csnd/p/12062649.html
Copyright © 2011-2022 走看看