uva 1368 DNA序列
2015-08-09 13:46
441 查看
这是道水题
%s 输出是从第一个位置开始读, 遇'0'结束!
所以在存str 是 j-1 , 而不是j
#include<stdio.h>
#include<string.h>
int main(){
int n, m, t;
char maps[55][1005];
char str[1005], ch[5] = { '0', 'A', 'C', 'G', 'T'};
int num[6], k, max, coun;
while(scanf("%d",&t) != EOF){
while(t--){
scanf("%d%d",&n, &m);
memset(str,'\0',sizeof(str));
for(int i = 1; i <= n; i++){
scanf("%s",&maps[i][1]);
}
coun = 0;
for(int j = 1; j <= m; j++){ // 按列查找
memset(num,0,sizeof(num));
// 记录每个字母出现次数
for(int i = 1; i <= n; i++){
if(maps[i][j] == 'A') num[1]++;
else if(maps[i][j] == 'C') num[2]++;
else if(maps[i][j] == 'G') num[3]++;
else if(maps[i][j] == 'T') num[4]++;
}
max = 0; k = 0;
//记录出现次数最多的字母(即是按字典序列)
for(int i = 1; i <= 4; i ++)
if(max < num[i]) {
max = num[i];
k = i;
}
str[j-1] = ch[k];
for(int i = 1; i <= n; i++){
if(str[j-1] != maps[i][j]) coun++;
}
}
printf("%s\n",str);
printf("%d\n",coun);
}
}
return 0;
}
%s 输出是从第一个位置开始读, 遇'0'结束!
所以在存str 是 j-1 , 而不是j
#include<stdio.h>
#include<string.h>
int main(){
int n, m, t;
char maps[55][1005];
char str[1005], ch[5] = { '0', 'A', 'C', 'G', 'T'};
int num[6], k, max, coun;
while(scanf("%d",&t) != EOF){
while(t--){
scanf("%d%d",&n, &m);
memset(str,'\0',sizeof(str));
for(int i = 1; i <= n; i++){
scanf("%s",&maps[i][1]);
}
coun = 0;
for(int j = 1; j <= m; j++){ // 按列查找
memset(num,0,sizeof(num));
// 记录每个字母出现次数
for(int i = 1; i <= n; i++){
if(maps[i][j] == 'A') num[1]++;
else if(maps[i][j] == 'C') num[2]++;
else if(maps[i][j] == 'G') num[3]++;
else if(maps[i][j] == 'T') num[4]++;
}
max = 0; k = 0;
//记录出现次数最多的字母(即是按字典序列)
for(int i = 1; i <= 4; i ++)
if(max < num[i]) {
max = num[i];
k = i;
}
str[j-1] = ch[k];
for(int i = 1; i <= n; i++){
if(str[j-1] != maps[i][j]) coun++;
}
}
printf("%s\n",str);
printf("%d\n",coun);
}
}
return 0;
}
Sample Input
3 5 8 TATGATAC TAAGCTAC AAAGATCC TGAGATAC TAAGATGT 4 10 ACGTACGTAC CCGTACGTAG GCGTACGTAT TCGTACGTAA 6 10 ATGTTACCAT AAGTTACGAT AACAAAGCAA AAGTTACCTT AAGTTACCAA TACTTACCAA
Sample Output
TAAGATAC 7 ACGTACGTAA 6 AAGTTACCAA 12
相关文章推荐
- x86架构和arm架构处理器分析
- Tomcat组件的生命周期Lifecycle
- 大整数乘法问题
- 使用butterknife中遇到的几个问题及解决方法
- mysql之触发器trigger
- 如何将JAVA工程转为MAVEN工程
- Zend Guard6.0使用教程——PHP代码加密
- const和mutable
- Ubuntu设置固定IP
- 关于CMUSphinx的一些整理
- 求n个骰子各点数和出现的概率-动态规划
- 对商业方,架构师要避免愤世嫉俗
- 黑马程序员——Java基础---IO(三)--File类、Properties类、打印流、序列流(合并流)
- 梯度上升与梯度下降
- hdu 4699 双栈模拟
- Reorder List
- Android生命周期函数执行顺序
- android 自定义组件-带图片的textView
- mybatis 源码系列 组件之 Transaction
- C#调用外部EXE-LibSVM为例