HDU-2087- 剪花布条

剪花布条

一块花布条,里面有些图案,另有一块直接可用的小饰条,里面也有一些图案。对于给定的花布条和小饰条,计算一下能从花布条中尽可能剪出几块小饰条来呢?
Input
输入中含有一些数据,分别是成对出现的花布条和小饰条,其布条都是用可见ASCII字符表示的,可见的ASCII字符有多少个,布条的花纹也有多少种花样。花纹条和小饰条不会超过1000个字符长。如果遇见#字符,则不再进行工作。
Output
输出能从花纹布中剪出的最多小饰条个数,如果一块都没有,那就老老实实输出0,每个结果之间应换行。
Sample Input
abcde a3
aaaaaa aa

Sample Output
0
3
HDU-2087-题目链接

解题思路

这个题也是KMP的一个应用我们在对照数组的时候一旦有相同的就下次向后面跳第二个字符长度的距离就行了。

代码

#include<string>
#include<vector>
#include<iostream>
#include<algorithm>

using namespace std;
#define vec vector<int>

int a[10000];
string s,ss;
vec nex(int c[],int n)
{
	vec ne(n);
	int j;
	for(int i=1;i<n;i++)
	{
		j=ne[i-1];
		while(c[i]!=c[j]&&j>0)
		{
			j=ne[j-1];
		}
		if(c[i]==c[j]) j++;
		ne[i]=j;
	}
	return ne;
}

int main()
{
	ios::sync_with_stdio(false);
	while(cin>>s)
	{
		if(s=="#") break;
		cin>>ss;
		int len=ss.length();
		for(int i=0;i<len;i++)
		{
			a[i]=ss[i];
		}
		a[len]=300;
		int le=len+s.length()+1;
		int j=0;
		for(int i=len+1;i<le;i++){
			a[i]=s[j++];
		}
		vec v=nex(a,le);
		int sum=0;
		for(int i=len+1;i<le;)
		{
			if(v[i]==len){
				i+=len;//这里需要一下跳len的距离
				sum++;
			} 
			else i++;
		}
		cout<<sum<<endl;
	}
	return 0;
}
全部评论

相关推荐

双尔:你就写拥有ai开发经历,熟练运用提示词,优化ai,提高ai回答质量
点赞 评论 收藏
分享
10-15 18:02
已编辑
香港中文大学 golang
秋招有幸一开始就拿了淘天的笔面,并且美团转正的意向也顺利通过后续在淘天和字节两个&nbsp;9&nbsp;月主要流程都走到了&nbsp;hr&nbsp;面,国庆节后一个通过,一个横向挂了其他面过的包括:b&nbsp;站一面挂&nbsp;八股还行,最后手撕给了个笔试压轴限时&nbsp;15min...整段垮掉阿里控股&nbsp;kpi一面➕换部门走到二面,控股的都不喜欢开摄像头京东一面挂&nbsp;常规问题,但是疑似成都&nbsp;base&nbsp;hc&nbsp;很少,并且透露了已经转正,目前池子里无人捞腾讯正在二面&nbsp;一面体验不错,还指出了要改进的地方,提示二面不会再问问过的问题快手一面未知小红书一面未知字节换部门一面不喜欢业务,又回到了人才库大麦约面,准备拒掉虾皮一面&nbsp;无后续流程,面试聊的还行,感觉上海&nbsp;base&nbsp;池子满了---------------------------------------------------------------------------感觉秋招可以结束了,后续感觉走完这个腾讯流程就随缘面面&nbsp;t&nbsp;和&nbsp;b,主包家在南京,奈何南京没啥好的民营企业和互联网氛围,以及好国企又太难进,不知道淘天这个意向够不够直接结束秋招了...今天去深圳&nbsp;nip&nbsp;主场看了一下入围赛,主队不是这两家,还是觉得&nbsp;ig&nbsp;可惜了,有很好的机会没有抓住。感触和我字节&nbsp;hr&nbsp;面挂一样评论区有推荐的字节杭州上海base的业务线或者有字节&nbsp;hr&nbsp;uu&nbsp;可以捞一下吗?
肖先生~:大佬都这么强了还要干啥啊
我的求职进度条
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务