Problem Description
一块花布条,里面有些图案,另有一块直接可用的小饰条,里面也有一些图案。对于给定的花布条和小饰条。计算一下能从花布条中尽可能剪出几块小饰条来呢?
Input
输入中含有一些数据,各自是成对出现的花布条和小饰条,其布条都是用可见ASCII字符表示的。可见的ASCII字符有多少个,布条的花纹也有多少种花样。花纹条和小饰条不会超过1000个字符长。假设遇见#字符,则不再进行工作。
Output
输出能从花纹布中剪出的最多小饰条个数,假设一块都没有,那就老老实实输出0,每一个结果之间应换行。
Sample Input
abcde a3 aaaaaa aa #
Sample Output
0 3
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
char s1[1005],s2[1005];
int next[1005];
void getnext(char *s2)
{int i=0,j=-1;next[0]=-1;while(i<strlen(s2)){if(j==-1||s2[i]==s2[j]){i++;j++;if(s2[i]!=s2[j])   next[i]=j;else                   next[i]=next[j];}elsej=next[j];}
}
int main()
{int s,t1,t2;while(scanf("%s",s1)){s=0;if(s1[0]=='#'&&s1[1]=='\0')break;scanf("%s",s2);    t1=strlen(s1);t2=strlen(s2);getnext(s2);if(t2>t1){cout<<0<<endl;continue;}int i=0,j=0;while(i<t1){if(j==-1||s1[i]==s2[j]){    i++;j++;}   elsej=next[j];if(j==t2){j=0;s++;}}cout<<s<<endl;}return 0;
}

作为模板吧。。

转载于:https://www.cnblogs.com/zfyouxi/p/5181364.html

HDU 2087 剪花布条 KMP入门相关推荐

  1. HDU 2087剪花布条 KMP

    KMP算法入门题  哥第一次写KMP惭愧啊,惭愧getnext写得蛋痛,后面的KMP部分更蛋痛.改了N久 #include<stdio.h> #include<string.h> ...

  2. hdu 2087 剪花布条

    http://acm.hdu.edu.cn/showproblem.php?pid=2087 水题,注意细节就可以了. 代码如下: #include<iostream> #include& ...

  3. 2016 UESTC Training for Search Algorithm String I - 谭爷剪花布条 KMP

    I - 谭爷剪花布条 Time Limit: 3000/100MS (Java/Others)     Memory Limit: 65535/65535KB (Java/Others) Submit ...

  4. HDUOJ 2087 剪花布条

    题目链接 Problem Description 一块花布条,里面有些图案,另有一块直接可用的小饰条,里面也有一些图案.对于给定的花布条和小饰条,计算一下能从花布条中尽可能剪出几块小饰条来呢? Inp ...

  5. 剪花布条(KMP入门)

    剪花布条 HDU - 2087 一块花布条,里面有些图案,另有一块直接可用的小饰条,里面也有一些图案.对于给定的花布条和小饰条,计算一下能从花布条中尽可能剪出几块小饰条来呢?  Input输入中含有一 ...

  6. 【hdu 2087】剪花布条

    今天去刷了一下前几届学长大一时的周赛题,主要收获是学了点string类的基本用法. 题目链接:传送门 剪花布条 Problem Description 一块花布条,里面有些图案,另有一块直接可用的小饰 ...

  7. HDU2087 剪花布条【KMP】

    剪花布条 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submissi ...

  8. 剪花布条(HDU 2087)

    [kuangbin带你飞]专题十六 KMP & 扩展KMP & Manacher C - 剪花布条 题目: Description 一块花布条,里面有些图案,另有一块直接可用的小饰条, ...

  9. 剪花布条(HDU-2087)

    Problem Description 一块花布条,里面有些图案,另有一块直接可用的小饰条,里面也有一些图案.对于给定的花布条和小饰条,计算一下能从花布条中尽可能剪出几块小饰条来呢? Input 输入 ...

最新文章

  1. Node.js实现本地客户端上传单个或者多个文件Excel文件(xls格式、xlsx格式文件)到服务器端,并且解析对应的Excel内容反馈到请求报文中
  2. netsh命令修改ip
  3. JQuery选中的对象和非选中的其他对象分别执行不同动作
  4. QTP自动化测试框架的基础知识
  5. PHP中session特点及用途,PHP特点之会话机制2——Session及其使用
  6. 截取AVI格式的视频C语言代码
  7. 【逆向工具】使用x64dbg+spy去除WinRAR5.40(64位)广告弹框
  8. 中国移动总经理易人对产业格局的影响
  9. HDU 3037 Saving Beans [Lucas定理]
  10. web自动化知识点-01
  11. 【SSM】企业差旅管理系统-李兴华-专题视频课程
  12. 图解PROFINET——PROFINET IO设备类型
  13. 山丽防水墙客户端的卸载
  14. Ubuntu 老版本下载
  15. DockOne微信分享(八十一):唯品会数据库备份恢复容器化项目实践经验总结
  16. React报错:Too many re-renders
  17. redhat7配置yum repos软件仓库远程yum
  18. 【常用传感器】LCD1602液晶工作原理详解及例程代码
  19. usaco1.3 calfflac 2008.11.5
  20. 补码、反码、原码介绍以及相互转换

热门文章

  1. 根据需求进行批量新增
  2. java 环境变量_Win10系统配置Java环境变量
  3. [leetcode]211. 添加与搜索单词 - 数据结构设计 ---前缀树解法
  4. 打印有向图的强连通分量-----kosaraju算法(最简单的实现)
  5. 贪心法——LeetCode376 摆动序列
  6. OpenGL基础22:贴图
  7. OpenGL基础17:颜色
  8. Unity3D基础35:五彩砖块
  9. Prometheus 原理和实践,含docker部署Prometheus、node Exporters、Alertmanager、Push Gateway、grafana
  10. Vue数据绑定和响应式原理