zoukankan      html  css  js  c++  java
  • 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;
    }
  • 相关阅读:
    聪明人 & 普通人
    13种模型及方法论
    面向大规模商业系统的数据库设计和实践
    分治算法
    软件架构
    隐含前提思维模型
    Git回滚代码到某个commit
    使用arthas排查 test 问题
    Arthas
    docker 操作入门
  • 原文地址:https://www.cnblogs.com/voldemorte/p/7183979.html
Copyright © 2011-2022 走看看