您的位置:首页 > 其它

(入门)uva 1368 DNA Consensus String

2016-01-24 12:27 369 查看
.............

为什么年幼的我这么喜欢用new 和delete 。不过看上去挺不错的。。。。

#include <cstdio>
#include <cstring>
int tonu(char c){
if(c=='A') return 0;
if(c=='C') return 1;
if(c=='G') return 2;
if(c=='T') return 3;
}
char toch(int n){
switch (n)
{
case 0:return 'A';
case 1:return 'C';
case 2:return 'G';
case 3:return 'T';
default:;
}
}
int main()
{
int T,m,n;scanf("%d",&T);
while(T--){
int conses=0;
scanf("%d%d",&m,&n);
char **p=new char*[m];
for(int i=0;i<m;i++){
p[i]=new char[n+1];scanf("%s",p[i]);
}
for(int j=0;j<n;j++)
{
int a[4]={0};
for(int i=0;i<m;i++) a[tonu(p[i][j])]++;
int place=0;
for(int k=1;k<4;k++) if(a[place]<a[k]) place=k;
conses+=(m-a[place]);
printf("%c",toch(place));
}
printf("\n%d\n",conses);
for(int i=0;i<m;i++) delete[] p[i];
delete[] p;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: