【来源】
《OpenJudge 1.7 字符串基础全解(1-20)》
网址:https://www.codetd.com/article/4120656
【题目】
为了获知基因序列在功能和结构上的相似性,经常需要将几条不同序列的DNA进行比对,以判断该比对的DNA是否具有相关性。
现比对两条长度相同的DNA序列。首先定义两条DNA序列相同位置的碱基为一个碱基对,如果一个碱基对中的两个碱基相同的话,则称为相同碱基对。接着计算相同碱基对占总碱基对数量的比例,如果该比例大于等于给定阈值时则判定该两条DNA序列是相关的,否则不相关。
输入:
有三行,第一行是用来判定出两条DNA序列是否相关的阈值,随后2行是两条DNA序列(长度不大于500)。
输出:
若两条DNA序列相关,则输出“yes”,否则输出“no”。
样例输入:
0.85
ATCGCCGTAAGTAACGGTTTTAAATAGGCC
ATCGCCGGAAGTAACGGTCTTAAATAGGCC
样例输出:
yes
【代码】
#include<iostream>
#include<cstring>
#include<string>
using namespace std;
main ()
{
char str1[505],str2[505];
double Similar;
cin >> Similar;
cin >> str1;
cin >> str2;
double count = 0;
double len = strlen(str1);
for(int i = 0; i < len; i++)
{
if( str1[i] == str2[i])
count ++;
}
if(Similar > count/len)
cout << "no";
else
cout << "yes";
}