UVA - 1368 DNA Consensus String
来源:互联网 发布:淘宝直通车养词要多久? 编辑:程序博客网 时间:2024/05/20 05:25
题目大意:输入 m 个长度均为 n 的 DNA 序列,求一个 Hamming 距离最小的序列,即最相似的序列,多解要求字典序最小。并输出距离。Hamming 距离等于字符不同的位置个数。
解题思路:统计所有 DNA 序列中每个位置出现各个字符的次数,记录出现最多的字符与次数,将这些字符连接起来就是所求序列,每个位置的 Hamming 距离为 DNA 序列个数减去最大次数,各位置相加即可。
卡了比较久,因为把样例复制到文件的时候忘记删除每行末尾的空格,导致多了一个 getchar(); 但提交后并不需要所以一直WA,坑,下次注意。
#include<iostream>#include<cstdio>#include<string.h>using namespace std;char DNA[55][1005]; int num[5][1005];int max_[1005];int str[1005];int main() { int T; scanf("%d", &T); while (T--) { memset (DNA, '0', sizeof(DNA)); memset (num, 0, sizeof(num)); memset (max_, 0, sizeof(max_)); memset (str, 0, sizeof(str)); int m, n; scanf("%d%d", &m, &n); getchar(); for (int i = 0; i < m; i++) gets(DNA[i]); for (int i = 0; i < m; i++) for (int j = 0; j < n; j++) { if (DNA[i][j] == 'A') num[0][j]++; if (DNA[i][j] == 'C') num[1][j]++; if (DNA[i][j] == 'G') num[2][j]++; if (DNA[i][j] == 'T') num[3][j]++; } for (int i = 0; i < n; i++) for (int j = 0; j < 4; j++) if (num[j][i] > max_[i]) { max_[i] = num[j][i]; str[i] = j; } int sum = 0; for (int i = 0; i < n; i++){ sum += m - max_[i]; if (str[i] == 0) printf("A"); if (str[i] == 1) printf("C"); if (str[i] == 2) printf("G"); if (str[i] == 3) printf("T"); } printf("\n%d\n", sum); } return 0;}
0 0
- UVA 1368 - DNA Consensus String
- uva 1368 DNA Consensus String
- Uva-1368-DNA Consensus String
- UVa 1368 DNA Consensus String
- UVA 1368 DNA Consensus String
- UVA 1368 DNA Consensus String
- UVa:1368 DNA Consensus String
- uva 1368 - DNA Consensus String
- UVa 1368 - DNA Consensus String
- UVa 1368 - DNA Consensus String
- UVa 1368 DNA Consensus String
- UVa 1368 - DNA Consensus String
- UVA - 1368 DNA Consensus String
- UVa 1368DNA Consensus String
- UVa 1368 - DNA Consensus String
- Uva 1368 DNA Consensus String
- 【Uva 1368】 DNA Consensus String
- UVa-1368 - DNA Consensus String
- Poj 1502 MPI Maelstrom【Floyd】
- UVA - 1587 Box
- LoadRunner参数化详解
- wpa配置
- UVA - 1588 Kickdown
- UVA - 1368 DNA Consensus String
- UVA - 1586 Molar Mass
- tcp/ip,http,socket mysql底层技术原理
- Django Compress setup
- android 反编译
- UVA - 10361 Automatic Poetry
- Source Insight 常用设置和快捷键大全
- 升级款E4418CORE-V1C 最强最小工业级核心模块 横空出世
- ASP.NET-----验证控件