欢迎登录北京林业大学OJ系统
http://www.bjfuacm.com

256病毒感染监测

描述
医学研究者最近发现了某些新病毒,通过对这些病毒的分析,得知它们的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>
using namespace std;
#define MAX 100
int m,n;
int BF(char s[],char p[])
{int i=1,j=1,t=1;while(i<=m&&j<=n){if(s[i]==p[j]){i++;j++;}else{i=++t;j=1;}}if(j>n)return 1;elsereturn 0;
}
int main()
{char a[MAX],b[MAX],s[MAX],p[MAX];while(cin>>b>>a&&a[0]!='0'&&b[0]!='0'){int i,j,flag=0;m=strlen(a);n=strlen(b);for(i=1;i<=m;i++)s[i]=a[i-1];s[m+1]='\0';for(i=n;i<2*n;i++)b[i]=b[i-n];b[2*n]='\0';for(i=0;i<n;i++){for(j=1;j<=n;j++)p[j]=b[i+j-1];p[n+1]='\0';if(BF(s,p)){flag=1;break;}}if(flag)cout<<"YES"<<endl;elsecout<<"NO"<<endl;}return 0;
}

BJFU_数据结构习题_256病毒感染监测相关推荐

  1. BJFU_数据结构习题_241双栈的基本操作

    欢迎登录北京林业大学OJ系统 http://www.bjfuacm.com 241双栈的基本操作 描述 将编号为0和1的两个栈存放于一个数组空间V[m]中,栈底分别处于数组的两端.当第0号栈的栈顶指针 ...

  2. BJFU_数据结构习题_257统计字符出现的频度

    欢迎登录北京林业大学OJ系统 http://www.bjfuacm.com 257统计字符出现的频度 描述 写一个算法统计在输入字符串中各个不同字符出现的频度并将结果输出(字符串中的合法字符为A-Z之 ...

  3. BJFU_数据结构习题_260二维数组中的元素查重

    欢迎登录北京林业大学OJ系统 http://www.bjfuacm.com 260二维数组中的元素查重 描述 设二维数组a[1-m, 1-n] 含有m*n 个整数.写一个算法判断a中所有元素是否互不相 ...

  4. BJFU_数据结构习题_229链表的分解

    欢迎登录北京林业大学OJ系统 http://www.bjfuacm.com 229链表的分解 描述 利用单链表A表示一个非零整数序列,把A分解为两个具有相同结构的链表B和C,其中B表的结点为A表中值小 ...

  5. BJFU_数据结构习题_245基于栈的可操作判断

    欢迎登录北京林业大学OJ系统 http://www.bjfuacm.com 245基于栈的可操作判断 描述 假设I和O分别代表入栈和出栈操作.栈的始态和终态均为空.入栈和出栈的操作序列可以表示为仅由I ...

  6. BJFU_数据结构习题_218基于链式存储结构的图书信息表的最贵图书的查找

    欢迎登录北京林业大学OJ系统 http://www.bjfuacm.com 218基于链式存储结构的图书信息表的最贵图书的查找 描述 定义一个包含图书信息(书号.书名.价格)的链表,读入相应的图书数据 ...

  7. BJFU_数据结构习题_219基于链式存储结构的图书信息表的最爱图书的查找

    欢迎登录北京林业大学OJ系统 http://www.bjfuacm.com 219基于链式存储结构的图书信息表的最爱图书的查找 描述 定义一个包含图书信息(书号.书名.价格)的链表,读入相应的图书数据 ...

  8. BJFU_数据结构习题_284基于深度优先搜索的两顶点路径存在与否的判断

    欢迎登录北京林业大学OJ系统 http://www.bjfuacm.com 284基于深度优先搜索的两顶点路径存在与否的判断 描述 设计一个算法,试基于深度优先搜索判断以邻接表方式存储的有向图中是否存 ...

  9. BJFU_数据结构习题_262基于哈夫曼树的数据压缩算法

    欢迎登录北京林业大学OJ系统 http://www.bjfuacm.com 262基于哈夫曼树的数据压缩算法 描述 输入一串字符串,根据给定的字符串中字符出现的频率建立相应哈夫曼树,构造哈夫曼编码表, ...

  10. BJFU_数据结构习题_222基于链式存储结构的图书信息表的旧图书的出库

    欢迎登录北京林业大学OJ系统 http://www.bjfuacm.com 222基于链式存储结构的图书信息表的旧图书的出库 描述 定义一个包含图书信息(书号.书名.价格)的链表,读入相应的图书数据来 ...

最新文章

  1. python数字类型-Python数字类型及其操作
  2. HiveQL之Database相关操作
  3. Display Substring
  4. Linux禁止非WHEEL用户使用SU命令
  5. leetcode 872. 叶子相似的树(dfs)
  6. svn服务器安装与配置
  7. matlab图像处理模板,求助,数字图像处理模板匹配
  8. Linux Shell编程笔记7 awk的应用
  9. XCode各种告警处理
  10. 学习时有必要做思维导图吗?
  11. Mysql之数据库与sql
  12. 51单片机之《概述》
  13. Qt视频直播软件--项目实战(Day5)
  14. c# WPF中通过双击编辑DataGrid中Cell的示例(附源码)
  15. usb-blaster 驱动在设备管理器处更新且安装成功后仍有黄色感叹号,显示:Windows 无法加载此软件的设备驱动程序。驱动程序可能损坏或丢失(代码:39)
  16. 部署听云服务器监测探针
  17. python-matplotlib库绘制饼形图专题(从一般饼状图到内嵌环形图)
  18. thinkphp6 JWT
  19. 基于Java实现的新冠肺炎疫情实时动态地图
  20. OpenStack常用运维命令手册-V1.0-黑夜青儿

热门文章

  1. 基于Serverless的流量隐匿(四个方面)
  2. 创新式开发探索(三) —— 反思自己的开发活动
  3. trouble processing xxxx.class: Ill-advised or mistaken usage of a core class (java.* or javax.*)
  4. win7环境安装ubuntu16.04双系统
  5. 蓝牙4.0 BLE传统配对绑定过程
  6. WebBrowser控件的多页面浏览(Tabbed Browsing)开发接口
  7. 基于MNIST数据集实现手写数字识别
  8. 餐厅点菜管理系统C语言课程设计
  9. 小蜜蜂吉他谱 高八度和低八度
  10. Vuejs 的入门(笔记)