1368 - DNA Consensus String
来源:互联网 发布:导入支付宝数据账本 编辑:程序博客网 时间:2024/06/01 10:08
#include <iostream>#include <vector>#include <algorithm>#include <string>using namespace std;struct cell{char ch;int n;cell(char c ='-',int t=0):ch(c),n(t){}bool operator<(const cell & cl)const{if(n>cl.n)return true;else if(n == cl.n && ch < cl.ch)return true;else return false;}};int ch2int(char c){switch(c){case 'A':return 0;case 'G':return 1;case 'C':return 2;case 'T':return 3;}return -1;}int main(){int t;cin>>t;for(int k=0;k<t;k++){int n,m;cin>>n>>m;string dna;vector<string> col(m);for(int i=0;i<m;i++){col[i].resize(n);}for(int i=0;i<n;i++){cin>>dna;for(int j=0;j<m;j++){col[j][i]=dna[j];}}string res;int hamming = 0;for(int i=0;i<m;i++){vector<cell> cnt(4);cnt[0]=cell('A');cnt[1]=cell('G');cnt[2]=cell('C');cnt[3]=cell('T');for(int j=0;j<n;j++){cnt[ch2int(col[i][j])].n++;}sort(cnt.begin(),cnt.end());res +=cnt[0].ch;for(int j=0;j<n;j++){if(res[i] != col[i][j])hamming++;}}cout<<res<<endl<<hamming<<endl;}return 0;}
0 0
- 1368 - DNA Consensus String
- 1368 - DNA Consensus String
- 1368 - DNA Consensus String
- 1368 - DNA Consensus String
- 1368 DNA Consensus String
- 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
- UVA 1368 DNA Consensus String
- UVa:1368 DNA Consensus String
- uva 1368 - DNA Consensus String
- UVaOJ 1368 - DNA Consensus String
- UVa 1368 - DNA Consensus String
- UVa 1368 - DNA Consensus String
- UVa 1368 DNA Consensus String
- UVa 1368 - DNA Consensus String
- gethostbyname()函数详解
- jquery父子隶属关系
- 开灯问题
- 中介者模式-C++实现
- Cocos2d-x3.0模版容器详解:cocos2d::Vector<T>
- 1368 - DNA Consensus String
- Servlet学习(三)doGet与doPost
- window下MySQL5.7.zip服务配置
- 类继承、虚继承
- 我理解的语法糖
- 正则表达的应用及优化
- windows Socket编程之TCP服务端与客户端
- JSP
- 功能类:一个微信小视频的录制类与播放类