HDU2087 減花布條(KMP)

2021-07-10 17:04:47 字數 1395 閱讀 5086

剪花布條

crawling in process...

crawling failed

time limit:1000ms     memory limit:32768kb     64bit io format:%i64d & %i64u

submit

status

description

一塊花布條,裡面有些圖案,另有一塊直接可用的小飾條,裡面也有一些圖案。對於給定的花布條和小飾條,計算一下能從花布條中盡可能剪出幾塊小飾條來呢?

input

輸入中含有一些資料,分別是成對出現的花布條和小飾條,其布條都是用可見ascii字元表示的,可見的ascii字元有多少個,布條的花紋也有多少種花樣。花紋條和小飾條不會超過1000個字元長。如果遇見#字元,則不再進行工作。

output

輸出能從花紋布中剪出的最多小飾條個數,如果一塊都沒有,那就老老實實輸出0,每個結果之間應換行。

sample input

abcde a3

aaaaaa aa

#

sample output

0

3

思路:此題用kmp演算法的模板套即可。

#include#include#includeusing namespace std;

char str1[1005];

char str2[1005];

int next[1005];

int cnt=0;

void makenext()

}void kmp()//注意剪下一段之後q要置0,即重新開始 }}

int main(){

while(scanf("%s",str1)!=eof){

cnt=0;

if(str1[0]=='#')break;

scanf("%s",str2);

kmp();

cout<

HDU 2087 減花布條 裸KMP模板

中文題面,題意也說得非常清楚了,給乙個文字串,求文字串中有多少個不重複的模式串 kmp標準做法,甚至基本沒有變動。判斷的時候,每當完整的匹配一次之後令j 0,ans 即模式串的下標從0開始,匹配數量加1 include include include include include include ...

hdu 2087 剪花布條 kmp

為了紀念第一次用kmp解決一道題,在這寫下了,算是當做乙個模板吧。description 一塊花布條,裡面有些圖案,另有一塊直接可用的小飾條,裡面也有一些圖案。對於給定的花布條和小飾條,計算一下能從花布條中盡可能剪出幾塊小飾條來呢?input 輸入中含有一些資料,分別是成對出現的花布條和小飾條,其布...

hdu 2087 剪花布條 KMP

problem description 一塊花布條,裡面有些圖案,另有一塊直接可用的小飾條,裡面也有一些圖案。對於給定的花布條和小飾條,計算一下能從花布條中盡可能剪出幾塊小飾條來呢?input 輸入中含有一些資料,分別是成對出現的花布條和小飾條,其布條都是用可見ascii字元表示的,可見的ascii...