实验目的:1、掌握字符串的顺序存储表示方法。
2、掌握字符串模式匹配BF、KMP算法。
实验内容:
问题描述:医学研究发现近期出现了某些新病毒,通过对这些病毒的分析,得知它们的DNA序列都是环状的。
现在已收集了大量病毒的DNA和人的DNA数据,想快速检测出这些人是否感染了相应的病毒。为方便研究,
研究者将病毒的DNA和人的DNA均表示成由一些字母组成的字符串序列,然后检测某种病毒DNA序列是否在
患者的DNA序列中出现过。如果出现过,则患者感染了该病毒,否则没有感染。
例如:假设病毒的DNA序列为baa,患者1的DNA序列为aaabbba,则感染;患者2的DNA序列为babbba,则未感染。
(提示:病毒的DNA序列为环状的,人的DNA序列为线性的。)
输入要求:多组数据,每组数据一行,为序列A和B,A对应病毒的DNA序列;B对应人的DNA序列。A和B都为“0”时输入结束。
输出要求:对于每组数据输出1行,若患者感染了病毒输出“YES”,否则,输出“NO”。
输入样例:
abbab abbabaab
baa cacdvcabacsd
abc def
0 0
输出样例:
YES
YES
NO
|
#include <stdio.h> |
|
#include <string.h> |
|
|
|
|