剪花布条 --HDOJ 2087
剪花布条
Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 6966 Accepted Submission(s): 4643
aaaaaa aa
#
思路: KMP
AC代码:
#include<stdio.h>
#include<string.h>
char a[], b[];
int fail[];
int lena, lenb;
int cnt;
void getfail()
{
fail[] = -;
int i, j;
for(i = , j = -; i < lenb; i ++)
{
while(j >= && b[j + ] != b[i])
{
j = fail[j];
}
if(b[j + ] == b[i])
j ++;
fail[i] = j;
}
return ;
} void kmp()
{
getfail();
int i, j;
for(i = , j = ; i < lena; i ++)
{
while(j && b[j] != a[i])
{
j = fail[j - ] + ;
}
if(b[j] == a[i])
j ++;
if(j == lenb)
{
cnt ++;
if(i + lenb < lena)
j = ;
else
return ;
}
}
}
int main(int argc, char const *argv[])
{
freopen("in.c","r",stdin);
while(~scanf("%s", a) && strcmp(a, "#"))
{
scanf("%s", b);
lena = strlen(a);
lenb = strlen(b);
cnt = ;
kmp();
printf("%d\n", cnt);
memset(a, , sizeof(a));
memset(b, , sizeof(b));
}
return ;
}
剪花布条 --HDOJ 2087的更多相关文章
- (KMP)剪花布条 -- hdu -- 2087
http://acm.hdu.edu.cn/showproblem.php?pid=2087 剪花布条 Time Limit: 1000/1000 MS (Java/Others) Memory ...
- 剪花布条 - HDU 2087(简单KMP | 暴力)
分析:基础的练习............... ============================================================================ ...
- HDU 2087 剪花布条(字符串匹配,KMP)
HDU 2087 剪花布条(字符串匹配,KMP) Description 一块花布条,里面有些图案,另有一块直接可用的小饰条,里面也有一些图案.对于给定的花布条和小饰条,计算一下能从花布条中尽可能剪出 ...
- HDU 2087 剪花布条 (字符串哈希)
http://acm.hdu.edu.cn/showproblem.php?pid=2087 Problem Description 一块花布条,里面有些图案,另有一块直接可用的小饰条,里面也有一些图 ...
- HDU 2087 - 剪花布条 - [KMP算法]
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2087 Time Limit: 1000/1000 MS (Java/Others) Memory Li ...
- HDU 2087 剪花布条 (KMP 不允许重叠的匹配)
题目链接 Problem Description 一块花布条,里面有些图案,另有一块直接可用的小饰条,里面也有一些图案.对于给定的花布条和小饰条,计算一下能从花布条中尽可能剪出几块小饰条来呢? Inp ...
- HDU 2087 剪花布条 (简单KMP或者暴力)
剪花布条 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submis ...
- HDU 2087 剪花布条【在字符串中不可重叠地寻找子串数量】
一块花布条,里面有些图案,另有一块直接可用的小饰条,里面也有一些图案.对于给定的花布条和小饰条,计算一下能从花布条中尽可能剪出几块小饰条来呢? Input输入中含有一些数据,分别是成对出现的花布条和 ...
- hdu 2087剪花布条 (KMP入门 子串出现的次数和子串个数)
剪花布条 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submis ...
随机推荐
- C#(pronounced: see sharp) 与 .NET
C#与.NET 一.什么是C# 这里的「#/♯」读作「sharp」,意思是「(Music, other) (immediately postpositive) denoting a note tha ...
- OpenCV(7)-图像直方图
直方图定义可参考这里.图像的直方图用来表示图像像素的统计信息,它统计了图像每一个通道(如果是多通道)中,每个像素的个数(比例). 计算直方图 OpenCV提供了直接计算直方图的函数 void calc ...
- 【CODECHEF】【phollard rho + miller_rabin】The First Cube
All submissions for this problem are available. Read problems statements in Mandarin Chinese and Rus ...
- discuz注册 内部错误
ucenter整合后,在论坛注册时出现 内部错误,无法显示,这是因为ucenter中,某个appid没写入! 可以把ucenter安装包下的utilities/checkappid.php,复制到uc ...
- MySQL数据库原理
我们知道,数据是信息的载体——一种我们约定了如何解释的符号.在计算机系统中,最常见的应该是文本数据.我们用它记录配置信息,写日志,等等.而在应用程序中,按一定的数据结构来组织数据的方式叫做数据库管理系 ...
- redis 安装及配置
一.安装Redis 1.到官网下载redis最新版本,我下载的是 http://redis.io/ 2.拷贝redis-3.0.3到/usr/local目录 3.解压缩sudo tar -zxf re ...
- [转] 使用maven运行java main的三种方式
原文地址: http://blog.csdn.net/qbg19881206/article/details/19850857?utm_source=tuicool&utm_medium=re ...
- tree命令
tree命令以树状图列出目录的内容. 1.语法 tree(选项)(参数) 2.选项 -a:显示所有文件和目录: -A:使用ASNI绘图字符显示树状图而非以ASCII字符组合: -C:在文件和目录清单加 ...
- HTML 页面加载动画效果
浏览器:Chrome, IE <!doctype html> <html> <head> <title>CSS transform: CSS only ...
- ARM 的Thumb状态测试
作为一个使用ARM的学习者,有必要全面了解你的处理器内核.尽管有些内容可能在实际应用中用不到,但是“了解”还是很必要的.Thumb状态,是ARM的一个特色,但是你知道Thumb状态与ARM状态最大的区 ...