您的位置:首页 > 其它

UVa 1368 - DNA Consensus String

2014-10-19 12:31 344 查看
一开始理解错题意了,熬到凌晨2点什么也没有做出来。今天早上回来后又仔细看了看,弄明白了题意,做的时候除了输入卡住了一会儿还是蛮顺利的,1AC,不错。

#include<stdio.h>
#include<string.h>
char DNA[55][1010]={0},final[1010]={0};
int main()
{
int i,j,m,n,T;
scanf("%d",&T);
while(T--)
{
memset(DNA,0,sizeof(DNA));
memset(final,0,sizeof(final));
scanf("%d%d",&m,&n);
int A,C,G,T,count=0;
for(i=0; i<m; i++)
scanf("%s",&DNA[i]);
for(i=0; i<n; i++)
{
A=C=G=T=0;
for(j=0; j<m; j++)
{
if(DNA[j][i]=='A')
A++;
else if(DNA[j][i]=='C')
C++;
else if(DNA[j][i]=='T')
T++;
else if(DNA[j][i]=='G')
G++;
}
if(A>=C&&A>=G&&A>=T)
final[i]='A';
else if(C>A&&C>=G&&C>=T)
final[i]='C';
else if(G>A&&G>C&&G>=T)
final[i]='G';
else if(T>A&&T>C&&T>G)
final[i]='T';
}
for(i=0; i<n; i++)
for(j=0; j<m; j++)
{
if(final[i]!=DNA[j][i])
count++;
}
puts(final);
printf("%d\n",count);
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: