博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
UVA1368
阅读量:5147 次
发布时间:2019-06-13

本文共 1688 字,大约阅读时间需要 5 分钟。

题目描述:

AC代码:

/** Copyright (c) 2016, 安徽大学计算机科学与技术学院* All rights reserved.* 作 者:  杨磊* 完成日期:2016 年 12 月 12 日* 问题描述:* 求与给出的几个DNA序列相似最大的DNA序列。* 思路:纵向比较每纵出现最多的元素保存到新的一个DNA序列即为所求。*/#include
#include
int m, n; int main() { int t; scanf("%d", &t); while(t--) { int A, T, G, C; int max, cnt,i,j; char RNA[1005]; //新数组。 char DNA[55][1005]; scanf("%d%d", &m, &n); for(i = 0; i < m; i++) scanf("%s", DNA[i]); for(i = 0; i < n; i++) { A=C=G=T=max=0; for(j = 0; j < m; j++) { if(DNA[j][i] == 'A') A++; if(DNA[j][i] == 'T') T++; if(DNA[j][i] == 'G') G++; if(DNA[j][i] == 'C') C++; } if(A > max) { //为新数组纵向赋值。 max = A; RNA[i] = 'A'; } if(C > max) { max = C; RNA[i] = 'C'; } if(G > max) { max = G; RNA[i] = 'G'; } if(T > max) { max = T; RNA[i] = 'T'; } } RNA[n] = '\0'; //数组以'\0'结尾。 cnt = 0; for(i = 0; i < n; i++) for(j = 0; j < m; j++) if(RNA[i] != DNA[j][i]) cnt++; //比较新DNA与原来的不同。 puts(RNA); printf("%d\n", cnt); } return 0; }

转载于:https://www.cnblogs.com/super-yang/p/6819594.html

你可能感兴趣的文章
Laravel Relationship Events
查看>>
求一个有一千个元素的整数数组的最大子数组的和
查看>>
普天C++笔试题
查看>>
Android Studio如何引用外部Library工程
查看>>
HTML5 Canvas 用requestAnimation取代setInterval
查看>>
软件需求模式阅读笔记五
查看>>
《AndroidStudio有用指南》反馈问题和建议
查看>>
WCF探索之旅(三)——IIS公布WCF服务
查看>>
update与upgrade
查看>>
轻量级的绘制图表js库--Morris.js
查看>>
POS tagging的解釋
查看>>
TI(德州仪器) TMS320C674x逆向分析之二
查看>>
WCF学习
查看>>
获取发送请求的ip
查看>>
Activity详解
查看>>
CCF201409-2 画图
查看>>
文件基本操作
查看>>
eclipse中添加tomcat
查看>>
【转】IntelliJ IDEA 创建 hello world Java web Maven项目
查看>>
浅谈OSI七层架构模型1
查看>>