hdoj 2087 剪花布条
剪花布条
Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 11030 Accepted Submission(s):
7078
#include<stdio.h>
#include<string.h>
#define MAX 1100
int f[MAX];
char str[MAX],p[MAX];
void getnext()//状态转移函数当目标串与原串失配后可通过f[]直接转移到可匹配位置
{
int i,j;
int len=strlen(p);
f[0]=f[1]=0;
for(i=1;i<len;i++)
{
j = f[i];
while(j && p[i] != p[j])
j = f[j];
f[i+1] = p[i] == p[j]?j+1:0;
}
}
int main()
{
int m,n,j,i;
int s;
while(scanf("%s",str) && str[0] != '#')
{
scanf("%s",p);
getnext();
m=strlen(str);
n=strlen(p);
j=0;s=0;
for(i=0;i<m;i++)
{
while(j&&str[i]!=p[j])
j=f[j];
if(str[i]==p[j])
j++;
if(j>=n)
{
s++;
j=0;
}
}
printf("%d\n",s);
}
}
常规容易想的思路在原串中对目标串进行逐一扫描,发现相同的记录下来
#include<stdio.h>
#include<string.h>
int main()
{
int m,j,i,la,lb,sum;
char a[1100],b[1100];
while(scanf("%s",a)!=EOF)
{
if(a[0]=='#')
break;
scanf("%s",b);
la=strlen(a);
lb=strlen(b);
sum=0;
for(i=0;i<la;i=i+lb)
{
m=1;
for(j=0;j<lb;j++)
{
if(a[i+j]!=b[j])
{
m=0;
break;
}
}
if(m!=0)
sum++;
}
printf("%d\n",sum);
}
return 0;
}
hdoj 2087 剪花布条的更多相关文章
- HDU/HDOJ 2087 剪花布条
KMP裸题 (极限5分钟A题) /** freopen("in.in", "r", stdin); freopen("my.out", &q ...
- hdu 2087 剪花布条 KMP多次匹配
剪花布条 Problem Description 一块花布条,里面有些图案,另有一块直接可用的小饰条,里面也有一些图案.对于给定的花布条和小饰条,计算一下能从花布条中尽可能剪出几块小饰条来呢? I ...
- HDU——2087剪花布条
剪花布条 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submi ...
- HDOJ/HDU 2087 剪花布条(indexOf()应用~~)
Problem Description 一块花布条,里面有些图案,另有一块直接可用的小饰条,里面也有一些图案.对于给定的花布条和小饰条,计算一下能从花布条中尽可能剪出几块小饰条来呢? Input 输入 ...
- HDU 2087 剪花布条 KMP入门
Problem Description 一块花布条,里面有些图案,另有一块直接可用的小饰条,里面也有一些图案.对于给定的花布条和小饰条.计算一下能从花布条中尽可能剪出几块小饰条来呢? Input ...
- 【HDU 2087 剪花布条】
Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission( ...
- 题解报告:hdu 2087 剪花布条(KMP入门)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2087 Problem Description 一块花布条,里面有些图案,另有一块直接可用的小饰条,里面 ...
- HDU 2087 剪花布条 KMP极其初级之入门题(KMP模板在这里)
Problem Description 一块花布条,里面有些图案,另有一块直接可用的小饰条,里面也有一些图案.对于给定的花布条和小饰条,计算一下能从花布条中尽可能剪出几块小饰条来呢? Input ...
- hdu 2087剪花布条
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2087 思路:正常KMP求解aaaaaa aa得到的结果是6,这题是3.仅仅改一点代码就行 当匹配完之 ...
随机推荐
- jQuery 滚动动画简单版
动画的思路很简单,点击页面上一个元素,页面滚动到指定位置.下面介绍一下我3个小时百度的研究成果: 首先是html部分: <html> <body> <a>顶部< ...
- 【转】oracle Sequence
http://blog.csdn.net/zhoufoxcn/article/details/1762351 在oracle中sequence就是序号,每次取的时候它会自动增加.sequence与表没 ...
- css动画怎么写:3个属性实现
3个属性:transition,animation,transform 实现步骤: 1.css定位 2.rgba设置颜色透明度 3.转换+动画 transform+animation 4.动画平滑过渡 ...
- 《C和指针》章节后编程练习解答参考——第9章
9.1 #include <stdio.h> #include <ctype.h> #include <string.h> #define N 100 int ma ...
- 问自己----也是自己该怎么走的路(phper)
1.首先看了PHP的源码API函数,对于许多口水仗的争论一笑而过,只是停留在脚本级别上的什么效率,安全...之争完全就是无稽之谈,没有深入理解API,所有的争论都是臆测和不科学的态度.你做了吗? 2. ...
- “\n”与“\r”的区别
ASCII中“\n”代表着换行,“\r”代表着将光标移动到当前显示行的最左边.
- CSS中IE8和chrom像素百分比计算差异
IE8中和chrome在计算像素百分比上,IE8舍一位取元素像素大小,chrome则使用四舍五入取元素像素大小: 比如:<body><div stype=“width:30%”> ...
- aspx、ashx以及cs的关系,viewState
aspx和ashx关系:aspx就是一种特殊的ashx,aspx对应的类是page,它是实现了IHttpHandler接口,所以说aspx是高级的HttpHandler.aspx中帮我们封装了很多操作 ...
- Maven安装与更新
Maven是Apache组织中的一个颇为成功的开源项目,主要服务于基于Java平 台的项目构建.依赖管理和项目信息管理: 1) Maven是跨平台的,在Windows.Linux和Mac上都可以使用: ...
- 【Xamarin挖墙脚系列:Xamarin.Android的API设计准则】
原文:[Xamarin挖墙脚系列:Xamarin.Android的API设计准则] 前言 楼主也是看着Xamarin的官方文档来的.基本也是照猫画虎.英语勉强凑合.翻译的不对的地方,大家多多指教.(这 ...