题意:
输入m个长度均为n的DNA序列, 求一个DNA序列, 到所有序列的总Hamming距离尽量小。 两个等长字符串的Hamming距离等于字符不同的位置个数, 例如, ACGT和GCGA的Hamming距离为2(左数第1, 4个字符不同) 。
输入整数m和n(4≤m≤50, 4≤n≤1000) , 以及m个长度为n的DNA序列(只包含字母A, C, G,T) , 输出到m个序列的Hamming距离和最小的DNA序列和对应的距离。 如有多解, 要求为字典序最小的解。 例如, 对于下面5个DNA序列, 最优解为TAAGATAC。
TATGATAC
TAAGCTAC
AAAGATCC
TGAGATAC
TAAGATGT

解析:要求Hamming距离距离最小,只要输出每一列字母中出现次数最多的字母,就是题目要求的最优解。

#include<stdio.h>
#include<string.h>int main()
{char s[55][1005];int T,m,n;scanf("%d",&T);while(T--){int sum=0,sum1;scanf("%d%d",&m,&n);for(int i=0;i<m;i++)scanf("%s",s[i]);int num[5];   //记录每一列中4个字母出现的次数int max,maxd;  //记录最多的次数,以及对应的下标for(int j=0;j<n;j++)         //j为列{memset(num,0,sizeof(num));for(int i=0;i<m;i++)           //i为行{if(s[i][j]=='A') num[0]++;if(s[i][j]=='C') num[1]++;if(s[i][j]=='G') num[2]++;if(s[i][j]=='T') num[3]++;}max=num[0];maxd=0;for(int k=1;k<4;k++){if(max<num[k]){max=num[k];maxd=k;}}sum1=0;for(int k=0;k<4;k++){if(k==maxd) continue;else sum1+=num[k];}sum+=sum1;if(maxd==0) putchar('A'); if(maxd==1) putchar('C');if(maxd==2) putchar('G');if(maxd==3) putchar('T'); }printf("\n%d\n",sum);}return 0;
}

uva1368题解 zyq_198相关推荐

  1. uva202题解zyq_198

    题意: 输入整数a和b(0≤a≤3000, 1≤b≤3000) , 输出a/b的循环小数表示以及循环节长度. 例如a=5, b=43, 小数表示为0.(116279069767441860465), ...

  2. uva227题解zyq_198

    题意: 有一个5*5的网格, 其中恰好有一个格子是空的, 其他格子各有一个字母. 一共有4种指令: A, B, L, R, 分别表示把空格上. 下. 左. 右的相邻字母移到空格中. 输入初始网格和指令 ...

  3. ACM题解系列之一:刘汝佳:《算法竞赛入门经典》(第2版)

    题是书中的题,解法参照了书中的解法,不少解法都做了简化和改进. 做程序,就要努力做到自己的程序是最好的! 第3章例题 POJ1488 UVA272 UVALive5381 TEX Quote[输入输出 ...

  4. [JS][dfs]题解 | #迷宫问题#

    题解 | #迷宫问题# 题目链接 迷宫问题 题目描述 定义一个二维数组 N*M ,如 5 × 5 数组下所示: int maze[5][5] = { 0, 1, 0, 0, 0, 0, 1, 1, 1 ...

  5. [JS][dp]题解 | #打家劫舍(一)#

    题解 | #打家劫舍(一)# 题目链接 打家劫舍(一) 题目描述 描述 你是一个经验丰富的小偷,准备偷沿街的一排房间,每个房间都存有一定的现金,为了防止被发现,你不能偷相邻的两家,即,如果偷了第一家, ...

  6. [JS]题解 | #魔法数字#

    题解 | #魔法数字# 题目链接 魔法数字 题目描述 牛妹给牛牛写了一个数字n,然后又给自己写了一个数字m,她希望牛牛能执行最少的操作将他的数字转化成自己的. 操作共有三种,如下: 在当前数字的基础上 ...

  7. [JS]题解 | #岛屿数量#

    题解 | #岛屿数量# 题目链接 岛屿数量 题目描述 时间限制:1秒 空间限制:256M 描述 给一个01矩阵,1代表是陆地,0代表海洋, 如果两个1相邻,那么这两个1属于同一个岛.我们只考虑上下左右 ...

  8. [JS] 题解:提取不重复的整数

    题解:提取不重复的整数 https://www.nowcoder.com/practice/253986e66d114d378ae8de2e6c4577c1 时间限制:1秒 空间限制:32M 描述 输 ...

  9. 洛谷-题解 P2672 【推销员】

    独门思路!链表加优先队列! 这题一望,贪心是跑不掉了,但是我贪心并不好,所以想到了一个复杂一些但思路更保稳的做法 思路: 1 因为是离线操作,所以我们可以倒着求,先求x=n的情况,因为那样直接就知道了 ...

最新文章

  1. js鼠标略过自动选择当前行
  2. 谈谈-this与super
  3. mysql 轨迹数据存储_python爬虫26 | 把数据爬取下来之后就存储到你的MySQL数据库...
  4. linux单次任务调度,go任务调度2(linux的cron调用)
  5. SpringBoot:搭建第一个Web程序
  6. C++中类和对象的一些注意事项 ---继承
  7. python将16进制字符串转换为整数_Python 16进制与字符串的转换
  8. TNN 量化_加量化港美股打新群!
  9. (9)css常用样式--盒子模型
  10. php iis session 超时设置,如何配置IIS Session超时时间
  11. everything-everything使用技巧,过滤文件语法
  12. MongoVUE的基本使用
  13. FPGA 可编程性与布局布线原理探究
  14. CompactRIO安装RT linux系统注意要点
  15. 【饺子的游戏设计笔记】
  16. 1024程序员节 技术对抗赛 算法与安全答题 标准答案
  17. Excel格式报表生成 (POI技术)
  18. IBM磁带产品与磁带加密
  19. Vue+php 使用AES进行加密解密
  20. 中国化妆品用脂质体市场现状研究分析与发展前景预测报告

热门文章

  1. 大一上学期第十六周学习生活总结
  2. POI操作Excel:cell的网线类型
  3. FreeNAS-9.10虚拟机测试安装
  4. r9 plus Android 10,OPPO R9 plustm A怎么升安卓10?
  5. python 计算面积 比计算几何慢_利用ArcGIS和Python计算中国各省路网密度
  6. python编写猜数游戏代码、如果不是整数、显示输入错误_数字炸弹游戏程序 用python来实现...
  7. 全情投入是做好工作的基础——Leo鉴书39
  8. 西门子、PTC、达索、Autodesk、Aras五大工业软件厂商的科技盛会
  9. redis如何使用命令清空所有key
  10. 大数据常用shell脚本之fl脚本