03:基因相关性

2017-07-15 19:47:42

03:基因相关性

总时间限制: 
1000ms
 
内存限制: 
65536kB
描述

为了获知基因序列在功能和结构上的相似性,经常需要将几条不同序列的DNA进行比对,以判断该比对的DNA是否具有相关性。

现比对两条长度相同的DNA序列。首先定义两条DNA序列相同位置的碱基为一个碱基对,如果一个碱基对中的两个碱基相同的话,则称为相同碱基对。接着计算相同碱基对占总碱基对数量的比例,如果该比例大于等于给定阈值时则判定该两条DNA序列是相关的,否则不相关。

输入
有三行,第一行是用来判定出两条DNA序列是否相关的阈值,随后2行是两条DNA序列(长度不大于500)。
输出
若两条DNA序列相关,则输出“yes”,否则输出“no”。
样例输入
0.85
ATCGCCGTAAGTAACGGTTTTAAATAGGCC
ATCGCCGGAAGTAACGGTCTTAAATAGGCC
样例输出
yes

8分答案

#include<stdio.h>
#include<iostream>
#include<algorithm>
#include<string.h>
#include<math.h>
using namespace std;
string a;
string b;
int main()
{
    int  i,j;
    double k,m,v,maxn;
    cin>>m;
    cin>>a>>b;
    v=a.length();
    for(i=0;i<v;i++)
    {
        for(j=0;j<v;j++)
        {
            if(a[i]==b[j]) maxn++;
        }
    }
    k=maxn/v;
    if(k>=m) cout<<"yes"<<endl;
    else cout<<"no"<<endl;
    return 0;
}

正确答案

include<cstdio>
#include<cstring>
char a[500],b[500];
double m=0,l,n;
int main()
{

scanf("%lf
",&n);
gets(a);
gets(b);
l=strlen(a);
for(int i=0;i<l;i++)
if(a[i]==b[i])
m++;
if(m/l>=n)
printf("yes");
else
printf("no");
return 0;
}
原文地址:https://www.cnblogs.com/voldemorte/p/7183979.html