zoj 3132 DNA Consensus String(字符串处理)

来源:互联网 发布:北斗手机导航软件 编辑:程序博客网 时间:2024/06/07 00:29
#include <iostream>#include<cstdio> using namespace std;struct DNA{int a,c,g,t;}d[1005];int main(int argc, char *argv[]){int t,n,m,i,j,ans,max;char s[1005];cin>>t;while(t--){   scanf("%d%d",&n,&m); for(i=0;i<m;i++)d[i].a=d[i].c=d[i].g=d[i].t=0;for(i=0;i<n;i++){scanf("%s",&s); for(j=0;j<m;j++) if(s[j]=='A') d[j].a++; else if(s[j]=='C') d[j].c++; else if(s[j]=='G') d[j].g++; else d[j].t++;}for(ans=i=0;i<m;i++){   s[i]='A';max=d[i].a;if(d[i].c>max) s[i]='C',max=d[i].c;if(d[i].g>max) s[i]='G',max=d[i].g;if(d[i].t>max) s[i]='T',max=d[i].t;ans+=n-max;}s[m]=0;cout<<s<<endl<<ans<<endl;}return 0;}