[编程题]DNA分子匹配

题目来源:牛客网

DNA分子是以4种脱氧核苷酸为单位连接而成的长链,这4种脱氧核苷酸分别含有A,T,C,G四种碱基。
碱基互补配对原则:A和T是配对的,C和G是配对的。
如果两条碱基链长度是相同的并且每个位置的碱基是配对的,
那么他们就可以配对合成为DNA的双螺旋结构。现在给出两条碱基链,
允许在其中一条上做替换操作:把序列上的某个位置的碱基更换为另外一种碱基。
问最少需要多少次让两条碱基链配对成功

#include<iostream>
#include<string>

using namespace std;

int main()
{
    string chain1, chain2;
    //scanf("%s %s",&chain1,&chain2);
    cin >> chain1 >> chain2;
    if (chain1.size() != chain2.size())
    {
        return 0;
    }
    int size = chain1.size();
    int correctnum = 0;
    for (int i = 0; i < size; i++)
    {
        if ((chain1[i] == 'A'&&chain2[i] == 'T') || (chain1[i] == 'T' && chain2[i] == 'A') ||
            (chain1[i] == 'C'&&chain2[i] == 'G') || (chain1[i] == 'G'&&chain2[i] == 'C'))
        {
            continue;
        }
        else
        {
            correctnum++;
        }

    }
    cout << correctnum;
    //cin.get();
    //cin.get();
    return 0;
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值