HDU2087 剪花布条【KMP】
剪花布条
Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 32600 Accepted Submission(s): 19891
Problem Description
一块花布条,里面有些图案,另有一块直接可用的小饰条,里面也有一些图案。对于给定的花布条和小饰条,计算一下能从花布条中尽可能剪出几块小饰条来呢?
Input
输入中含有一些数据,分别是成对出现的花布条和小饰条,其布条都是用可见ASCII字符表示的,可见的ASCII字符有多少个,布条的花纹也有多少种花样。花纹条和小饰条不会超过1000个字符长。如果遇见#字符,则不再进行工作。
Output
输出能从花纹布中剪出的最多小饰条个数,如果一块都没有,那就老老实实输出0,每个结果之间应换行。
Sample Input
abcde a3
aaaaaa aa
Sample Output
0
3
Author
qianneng
Source
冬练三九之二
问题链接:HDU2087 剪花布条
问题简述:(略)
问题分析:
KMP算法水题,不解释。
程序说明:(略)
参考链接:(略)
题记:(略)
AC的C语言程序如下:
/* HDU2087 剪花布条 */#include <stdio.h>
#include <string.h>#define N 1000
char s1[N + 1], s2[N + 1];
int next[N + 1];void set_next(char s[], int next[], int len)
{int i, j;i = 0, j = next[0] = -1;while (i < len) {while (j != -1 && s[i] != s[j])j = next[j];next[++i] = ++j;}
}int kmp_count(char *s, char *t)
{int i = 0, j = 0, ans = 0;int lens = strlen(s), lent = strlen(t);set_next(s, next, lens);while (i < lent) {while(j != -1 && t[i] != s[j])j = next[j];i++, j++;if(j >= lens) {ans++;j = 0;}}return ans;
}int main(void)
{while(scanf("%s", s1) != EOF && s1[0] != '#') {scanf("%s", s2);printf("%d\n", kmp_count(s2, s1));}return 0;
}
HDU2087 剪花布条【KMP】相关推荐
- 2016 UESTC Training for Search Algorithm String I - 谭爷剪花布条 KMP
I - 谭爷剪花布条 Time Limit: 3000/100MS (Java/Others) Memory Limit: 65535/65535KB (Java/Others) Submit ...
- HDU2087剪花布条
Problem Description 一块花布条,里面有些图案,另有一块直接可用的小饰条,里面也有一些图案.对于给定的花布条和小饰条,计算一下能从花布条中尽可能剪出几块小饰条来呢? Input 输入 ...
- HDU 2087 剪花布条 KMP入门
Problem Description 一块花布条,里面有些图案,另有一块直接可用的小饰条,里面也有一些图案.对于给定的花布条和小饰条.计算一下能从花布条中尽可能剪出几块小饰条来呢? Input 输入 ...
- HDU 2087剪花布条 KMP
KMP算法入门题 哥第一次写KMP惭愧啊,惭愧getnext写得蛋痛,后面的KMP部分更蛋痛.改了N久 #include<stdio.h> #include<string.h> ...
- 剪花布条(KMP入门)
剪花布条 HDU - 2087 一块花布条,里面有些图案,另有一块直接可用的小饰条,里面也有一些图案.对于给定的花布条和小饰条,计算一下能从花布条中尽可能剪出几块小饰条来呢? Input输入中含有一 ...
- 【hdu 2087】剪花布条
今天去刷了一下前几届学长大一时的周赛题,主要收获是学了点string类的基本用法. 题目链接:传送门 剪花布条 Problem Description 一块花布条,里面有些图案,另有一块直接可用的小饰 ...
- 剪花布条(HDU-2087)
Problem Description 一块花布条,里面有些图案,另有一块直接可用的小饰条,里面也有一些图案.对于给定的花布条和小饰条,计算一下能从花布条中尽可能剪出几块小饰条来呢? Input 输入 ...
- 刷题_33:剪花布条 and 客似云来
一.剪花布条 题目链接: 剪花布条 题目描述: 一块花布条,里面有些图案,另有一块直接可用的小饰条,里面也有一些图案.对于给定的花布条和小饰条,计算一下能从花布条中尽可能剪出几块小饰条来呢? 输入描述 ...
- HDUOJ 2087 剪花布条
题目链接 Problem Description 一块花布条,里面有些图案,另有一块直接可用的小饰条,里面也有一些图案.对于给定的花布条和小饰条,计算一下能从花布条中尽可能剪出几块小饰条来呢? Inp ...
最新文章
- JVM中可生成的最大Thread数量
- 了解一下爬虫技术方方面面
- 【预言】分布式缓存成为操作系统的一部分
- 机器学习知识点(十)马尔可夫链
- skip page cache - SAP gateway的调试
- 如何获取大端中的数据_【软件】ProE中各种获取数据方式的区别
- mysql根据外键多条件查询_MySQL练习-主外键多表查询
- autojs控制台美化
- NetApp FAS 混合闪存阵列
- python3 使用sorted 实现倒序
- SQL语句 —— 查询某天创建的数据(精确到日)
- 网络平台运行计算机终端,Terminal是什么意思?Mac如何打开终端Terminal?
- 【python基础】递归函数
- 三维切面(水平面、冠状面、矢状面)的几种操作
- T-test数据分析
- ios android 占有率,Android全球占有率28.4% 超iOS一倍
- yuv图解(YUV444,YUV422,YUV420,YV12,NV12,NV21)
- Python 日期处理
- OneNav开源导航系统 简约导航/书签管理器
- 蓝桥杯 — 星系炸弹( 在X星系的广袤空间中漂浮着许多X星人造“炸弹”)
热门文章
- 树莓派7寸触屏,略贵
- 非资深玩家留言频率限制(1024秒限制)
- SQL那些事儿(十)--oracle主键、唯一键与索引
- Starling移动平台开发初体验
- Hack, Everything!
- 让C#语言充当自身脚本!——.NET中的动态编译
- html ios音乐自动播放muted,video下autoplay属性无效的解决方法(添加muted属性)
- git回退历史版本无法上传_Git实用教程(四) | Git本地库操作(查看提交历史、版本前进回退)...
- 西安石油大学计算机学院于晓,西安石油大学计算机学院2009届本科毕业设计答辩.doc...
- #if defined和#if !defined的含义