Description
给定两个字符串string1和string2,判断string2是否为string1的子串。

Input
输入包含多组数据,每组测试数据包含两行,第一行代表string1,第二行代表string2,string1和string2中保证不出现空格。(string1和string2大小不超过100字符)

Output
对于每组输入数据,若string2是string1的子串,则输出"YES",否则输出"NO"。

Sample
Input

abc

a

123456

45

abc

ddd

Output

YES

YES

NO

Hint

#include<bits/stdc++.h>using namespace std;
#define maxn 1000010char s[maxn], p[maxn], Next[maxn];
void get_next()
{int j = -1, k = 0;Next[0] = -1;int len = strlen(p);while(k < len){if(j == -1 || s[j] == s[k]){j++;k++;Next[k] = j;}else j = Next[j];}
}
int kmp()
{int i = 0, j = 0;int slen = strlen(s);int plen = strlen(p);while(i < slen && j < plen){if(j == -1 || s[i] == p[j]){i++;j++;}else j = Next[j];}if(j == plen) return 1;elsereturn 0;
}int main()
{while(cin >> s){cin >> p;get_next();if(kmp()) cout << "YES" << endl;else cout << "NO" << endl;}return 0;
}

数据结构实验之串二:字符串匹配相关推荐

  1. sdut 3341数据结构实验之二叉树二:遍历二叉树

    数据结构实验之二叉树二:遍历二叉树 Time Limit: 1000MS Memory Limit: 65536K Problem Description 已知二叉树的一个按先序遍历输入的字符序列,如 ...

  2. SDUT _2117 数据结构实验之链表二:逆序建立链表

    点击打开链接 数据结构实验之链表二:逆序建立链表 Time Limit: 1000MS Memory Limit: 65536KB Submit Statistic Discuss Problem D ...

  3. SDUT 3399 数据结构实验之排序二:交换排序

    数据结构实验之排序二:交换排序 Time Limit: 1000MS Memory Limit: 65536KB Submit Statistic Problem Description 冒泡排序和快 ...

  4. SDUT 2142 数据结构实验之图论二:基于邻接表的广度优先搜索遍历

    数据结构实验之图论二:基于邻接表的广度优先搜索遍历 Time Limit: 1000MS Memory Limit: 65536KB Submit Statistic Problem Descript ...

  5. 3374——数据结构实验之查找二:平衡二叉树

    数据结构实验之查找二:平衡二叉树 ( LL RR LR RL) Problem Description 根据给定的输入序列建立一棵平衡二叉树,求出建立的平衡二叉树的树根. Input 输入一组测试数据 ...

  6. 3348 数据结构实验之数组二:稀疏矩阵

    数据结构实验之数组二:稀疏矩阵 #include<iostream> #include<iomanip> using namespace std; int y,x; struc ...

  7. SUTD OJ 数据结构实验之查找二:平衡二叉树

    数据结构实验之查找二:平衡二叉树 Time Limit: 400 ms Memory Limit: 65536 KiB Submit Statistic Problem Description 根据给 ...

  8. 【数据结构与算法】【字符串匹配】Trie树

    单模式串匹配 BF 算法和 RK 算法 BM 算法和 KMP 算法 多模式串匹配算法 Trie 树和 AC 自动机 一. 什么是"Trie树"? 1. 他是一种树形结构,是一种专门 ...

  9. a - 数据结构实验之串一:kmp简单应用_数据结构(C语言版)_笔记_3

    第4章 串 计算机上的非数值处理的对象基本上是字符串数据. 字符串一般简称为串. 4.1 串类型的定义 串(string)(或字符串)是由零个或多个字符组成的有限序列,一般记为其中s是串的名,单引号括 ...

最新文章

  1. 【微服务架构】SpringCloud之Eureka入门篇
  2. 区块链技术产生数字货币时代
  3. Facebook TensorMask:一种新的密集滑动窗口分割技术
  4. debian 9系统安装配置iptables
  5. 图像变清晰 图像放大 提高分辨率 提高清晰度
  6. LeetCode之Nim Game
  7. java定时器只执行一次_面试阿里P6,却被MySQL难倒,二战阿里,挤进天猫团队(Java岗)...
  8. 在html中写js提示错误,页面HTML标签优化
  9. Java第二次作业第一题
  10. python r语言 数据分析_PythonR语言-将Python和R整合进一个数据分析流程
  11. 【已解决】输入mysqld -install时报错Install/Remove of the Service Denied
  12. 稀疏表示 过完备字典
  13. SCI顶级牛刊《Nature》合集PDF(2018~2020年度)
  14. Houdini输出ABC到UE4识别材质
  15. JavaScript系列(2)内置对象:Date
  16. 信息收集之 子域名收集,子域名爆破
  17. TensorRT INT8量化原理与实现(非常详细)
  18. 国内知名插画培训机构有哪些
  19. DeprecationWarning: currentThread() is deprecated, use current_thread() instead
  20. 在中国,40岁程序员是如何工作的?

热门文章

  1. numpy.absolute详解
  2. 一块钱哪里去了?--java浮点型背后的故事
  3. Redis 集群分布式锁与 API 网关分布式限流
  4. lvs为何不能完全替代DNS轮询--转
  5. 特征选择(feature_selection)
  6. 机器学习算法加强——回归
  7. 支付接入开发的陷阱有多深?
  8. php swiper 下拉刷新,SwipeRefreshLayout的使用(下拉刷新)
  9. 判断一个字符串的所有字符是否都在另一个字符串中
  10. MyBatis-24MyBatis缓存配置【集成EhCache】