(入门)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;
}
}
为什么年幼的我这么喜欢用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;
}
}
相关文章推荐
- 11g RAC and DG
- ZOJ11024
- C++中的四舍五入
- c++实现atoi()和itoa()函数(字符串和整数转化)
- 纵横字谜的答案(uva 232)
- N!结尾0的个数
- uva11292 - The Dragon of Loowater (贪心)
- Android开发之如何保证Service不被杀掉(broadcast+system/app)
- windows 2008R2 iis7 +php web环境安装
- SpringMVC URL处理逻辑
- 知网搜索弹不出中文输入法解决办法
- 远程桌面时提示凭证不工作问题的终极解决办法
- [Swift开发实战]- 类型的扩展
- DP------Unique Paths II
- 使用nodejs,express,mysql,Bootstrap开发采购招标网站(一)项目搭建
- Oracle官方文档阅读——Java可变参数
- ios保持界面流程的技巧
- STM32之中断与事件---中断与事件的区别
- 75.Path Sum
- Java 三大特性之——继承