基因相关性

2022年8月21日 | 分类: 【编程】

【来源】

《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";
}