UVA - 1368 - DNA Consensus String (字符串处理)
2015-07-21 12:28
387 查看
题意:给n串m长的DNA序列,要求从这n串序列中得出一个最相似的序列,若出现次数相同,按字典序,并输出与所给序列不同的总数
[code]#include<stdio.h> #include<string.h> char dna[55][1005], res[1005]; int main() { int T; scanf("%d", &T); while(T--){ int n, m; int sum = 0, i, j; int maxn = 0, imax; scanf("%d%d",&n,&m); for(int i=0;i<n;i++) scanf("%s",dna[i]); for(i = 0; i < m; i++){ int a[4] = {0}; for(j = 0; j < n; j++){ switch(dna[j][i]){ case 'A': a[0]++; break; case 'C': a[1]++; break; case 'G': a[2]++; break; case 'T': a[3]++; break; } } for(j = 0; j < 4; j++){ if(a[j] > maxn){ maxn = a[j]; imax = j; } } sum = sum+n-maxn; maxn = 0; switch(imax){ case 0: res[i] = 'A'; break; case 1: res[i] = 'C'; break; case 2: res[i] = 'G'; break; case 3: res[i] = 'T'; break; } } res[i] = '\0'; printf("%s\n%d\n", res, sum); } return 0; }
相关文章推荐
- 黑马程序员_C语言基础_循环结构使用区别,9*9口诀表
- CVPR 2012 papers
- Android代码混淆
- 数据结构学习笔记(1)
- Tomcat跳过默认页面跳转到指定页面
- pwd命令
- httpd-YUM安装配置
- Mybatis返回Map的一种实现
- 将Maven项目发布到Nexus私服
- CVPR 2013 papers
- linux下查找字符串的命令
- Java 并发专题 : Timer的缺陷 用ScheduledExecutorService替代
- C#中param关键字
- 黑马程序员_javaAPI
- Linux的shell脚本基础
- Java-Stack
- 常用的一些vi命令
- hadoop版本与支持的hbase版本对照表
- ABP架构设计交流群-上海线下交流会的内容分享(有高清录像视频的链接)
- HOWTO - Install Nginx + uWSGI + Django