UVa 1368

来源:互联网 发布:ubuntu chmod 编辑:程序博客网 时间:2024/05/17 07:41
背景:每列找出最多重复次数即可。
#include<stdio.h>#include<string.h>int main(void){    int t;scanf("%d",&t);while(t--){int n,m;scanf("%d %d",&n,&m);char DNA[n][m+1];for(int i=0;i<n;i++) scanf("%s",DNA[i]);int list[4];int num=0,num1;for(int i=0;i<m;i++){memset(list,0,sizeof(list));for(int j=0;j<n;j++){if(DNA[j][i]=='A') list[0]++;else if(DNA[j][i]=='C') list[1]++;else if(DNA[j][i]=='G') list[2]++;else list[3]++;}int temp=0,ans;for(int k=0;k<4;k++){if(list[k]>temp) {ans=k;temp=list[k];num1=n-list[k];    }}if(ans==0) printf("A");else if(ans==1) printf("C");else if(ans==2) printf("G");else printf("T");num+=num1;}printf("\n%d\n",num);}        return 0;}

3 0
原创粉丝点击