病毒感染监测问题

news/2024/11/22 14:01:41/

描述

医学研究者最近发现了某些新病毒,通过对这些病毒的分析,得知它们的DNA序列都是环状的。现在研究者收集了大量的病毒DNA和人的DNA数据,想快速检测出这些人是否感染了相应的病毒。为方便研究,研究者将人的DNA和病毒的DNA均表示成由一些小写字母组成的字符串,然后检测某种病毒的DNA序列是否在患者的DNA序列中出现过,如果出现过,则此人感染了病毒,否则没有感染。注意:人的DNA序列是线性的,而病毒的DNA序列是环状的。

输入

多组数据,每组数据有一行,为序列A和B,A对应病毒的DNA序列,B对应人的DNA序列。A和B都为“0”时输入结束。

输出

对于每组数据输出一行,若患者感染了病毒输出“YES”,否则输出“NO”。

输入样例 1

abbab abbabaab
baa cacdvcabacsd
abc def   
0 0

输出样例 1

YES
YES
NO
#include<iostream>
#include<cstring>
#include<string>
using namespace std;int Index_BF(const string &str1, const string &str2, int pos){int i = pos;int j = 0;int len1 = str1.size();int len2 = str2.size();while (i<len1&&j<len2){if (str1[i] == str2[j]){i++;j++;}else{i = i - j + 1;j = 0;}}if (j >= len2)return i - len2;elsereturn -1;}int main(){int pos = 0;string str1;string str2;int result;while (cin >> str2 >> str1){if (str1 == "0"&&str2 == "0")break;int m=str2.length();string str3 = str2 + str2;	for(int i=0;i<m;i++){string temp=str3.substr(i,m);	result =Index_BF(str1,temp,pos);	if(result!=-1) break;			}if(result!=-1)cout<<"YES"<<endl;elsecout<<"NO"<<endl;      }return 0;}


http://www.ppmy.cn/news/729378.html

相关文章

DNA电脑病毒真的能感染电脑了?

2019独角兽企业重金招聘Python工程师标准>>> 美国华盛顿大学&#xff08;University of Washington&#xff09;的研究人员最近成功将用一种恶意软件编码成 DNA 链&#xff0c;感染计算机。为了探究计算机是否可以透过处理 DNA 受计算机病毒入侵&#xff0c;该团队将…

病毒变异pta

病毒DNA可以表示成由一些字母组成的字符串序列&#xff0c;且病毒的DNA序列是环状的。例如&#xff0c;假设病毒的DNA序列为baa&#xff0c;则该病毒的DNA序列有三种变种&#xff1a;baa,aab,aba。试编写一程序&#xff0c;对给定的病毒DNA序列&#xff0c;输出该病毒所有可能的…

c语言字符串dna序列,DNA (C语言代码)(软比特的贝尔在线解题)

解题思路: 不难发现&#xff0c;看似复杂的DNA实际上是由第一个图形平移b-1次而成(b为重复度)&#xff0c;再细化一下&#xff0c;整个DNA是由第一个图形中的所有‘x’(除了第一个图形左上和右上的‘x’&#xff0c;读者自行理解&#xff0c;不难理解)平移b-1次而成的&#xff…

计算机病毒与生物病毒防治,计算机病毒与生物病毒的对比分析

计算机病毒与生物病毒的对比分析 摘要&#xff1a;本文通过对计算机病毒和生物病毒这两个不同领域的病毒的异同点的分析&#xff0c;借鉴相互的防治经验&#xff0c;以探索防治这两类病毒的新方法&#xff0c;为防治这两类病毒提供新的思路。 关键词&#xff1a;计算机、生物、…

病毒感染检测

人的DNA和病毒DNA均表示成由一些字母组成的字符串序列。然后检测某种病毒DNA序列是否在患者的DNA序列中出现过&#xff0c;如果出现过&#xff0c;则此人感染了该病毒&#xff0c;否则没有感染。例如&#xff0c;假设病毒的DNA序列为baa&#xff0c;患者1的DNA序列为aaabbba&am…

宏病毒组介绍

病毒是一种个体微小&#xff0c;结构简单&#xff0c;只含一种核酸&#xff08;DNA 或 RNA&#xff09;&#xff0c;必须在活细胞内寄生并以复制方式增殖的非细胞型生物。病毒是地球上丰度最高的“生物”类群&#xff0c;它们广泛地存在于所有已知的生态环境中&#xff0c;从水…

以文件读取和写入的方式实现病毒和人DNA的匹配(采用KMP算法)

首先我们需要在保存代码的文件夹下新建议个文本文件&#xff08;这里文件名为&#xff1a;1&#xff09;用来保存需要检测的数据&#xff0c;格式为&#xff1a; 然后再建一个名为2的文本文件用来保存结果。 1&#xff0c;注意把这些文件和代码的.CPP文件保存在一个文件夹下的…

【若依框架学习】day1-启动项目

若依开源框架&#xff0c;前后端分离项目&#xff0c;地址&#xff1a;http://doc.ruoyi.vip/ruoyi-vue/ 先配置环境 JDK1.8&#xff0c; MySQL5.7 &#xff0c;Maven3.6&#xff0c;redis、nginx(可以不配)、 node 具体见&#xff1a;https://ygstriver.blog.csdn.net/articl…