UVa 1368 DNA Consensus String
2017-10-27 15:15
357 查看
#include<stdio.h> #include<string.h> #include<iostream> using namespace std; int n,m,t; char a[55][1005]; int s[4]; char f(int b) { switch(b) { case 0:return 'A'; case 1:return 'C'; case 2:return 'G'; case 3:return 'T'; } } int main() { scanf("%d",&t); while(t--) { int cnt=0; char rst[1005]; scanf("%d%d",&m,&n); for(int i=0;i<m;i++) scanf("%s",a[i]); for(int i=0;i<n;i++) //对每个字符 { memset(s,0,sizeof(s)); for(int j=0;j<m;j++) //对每个串 { if(a[j][i]=='A') s[0]++; else if(a[j][i]=='C') s[1]++; else if(a[j][i]=='G') s[2]++; else if(a[j][i]=='T') s[3]++; } int b=0; for(int k=1;k<4;k++)//记录出现次数最多且字典序最前的字符 { if(s[k]>s[b]) b=k; } cnt+=m-s[b]; rst[i]=f(b); } for(int i=0;i<n;i++) printf("%c",rst[i]); printf("\n%d\n",cnt); } return 0; }
相关文章推荐
- UVA 1368 - DNA Consensus String(贪心)
- DNA序列(DNA Consensus String, UVa 1368)算法
- uva 1368 DNA Consensus String(检索)
- UVA 1368 DNA Consensus String
- UVA-1368-DNA Consensus String 基础题 贪心 模拟 详细注释
- UVa 1368 DNA Consensus String
- 【Uva 1368】 DNA Consensus String
- UVA1368 - DNA Consensus String
- Uva.1368 DNA Consensus String
- UVA1368 - DNA Consensus String
- UVa1368 DNA Consensus String
- UVa 1368 DNA Consensus String(贪心+计数)
- UVA - 1368 DNA Consensus String
- DNA Consensus String UVA - 1368
- UVA - 1368 DNA Consensus String
- UVa 1368 DNA Consensus String
- DNA Consensus String UVA - 1368
- UVA - 1368 DNA Consensus String
- DNA Consensus String UVA - 1368
- uva1368 - DNA Consensus String