UVa1368 DNA Consensus string AC

来源:互联网 发布:淘宝网抓绒布料 编辑:程序博客网 时间:2024/06/05 00:34
#include "stdio.h"#include "string.h"#include "stdlib.h"#define MAX(a, b) ((a)>(b)?(a):(b))int main(){int T,m,n,Hamming=0,ACGTMAX=0;char s[50][1000],ACGT[4];scanf("%d",&T);while (T--){Hamming=0;memset(ACGT,0,sizeof(ACGT));scanf("%d%d",&m,&n);//DNA行数,DNA长度getchar();//取回车for (int i=0;i<m;i++)gets(s[i]);//存入表中for (int j=0;j<n;j++){for (int i=0;i<m;i++){switch (s[i][j]){case 'A':ACGT[0]++;break;case 'C':ACGT[1]++;break;case 'G':ACGT[2]++;break;case 'T':ACGT[3]++;break;}}ACGTMAX=MAX(MAX(MAX(ACGT[0], ACGT[1]), ACGT[2]),ACGT[3]);if (ACGTMAX==ACGT[0]){putchar('A');Hamming+=ACGT[1]+ACGT[2]+ACGT[3];}else if (ACGTMAX==ACGT[1]){putchar('C');Hamming+=ACGT[0]+ACGT[2]+ACGT[3];}else if (ACGTMAX==ACGT[2]){putchar('G');Hamming+=ACGT[0]+ACGT[1]+ACGT[3];}else if (ACGTMAX==ACGT[3]){putchar('T');Hamming+=ACGT[0]+ACGT[1]+ACGT[2];}memset(ACGT,0,sizeof(ACGT));}printf("\n%d\n",Hamming);}system("pause");return 0;}

原创粉丝点击