#10043. 「一本通 2.2 例 1」剪花布条

news2024/7/6 21:08:47

题目

题目描述

一块花布条,里面有些图案,另有一块直接可用的小饰条,里面也有一些图案。对于给定的花布条和小饰条,计算一下能从花布条中尽可能剪出几块小饰条来呢?

输入格式

输入数据为多组数据,读取到 # 字符时结束。每组数据仅有一行,为由空格分开的花布条和小饰条。花布条和小饰条都是用可见 ASCII 字符表示的,不会超过 1000 个字符。
注意:这个 # 应为单个字符。若某字符串开头有 #,不意味着读入结束!

输出格式

对于每组数据,输出一行一个整数,表示能从花纹布中剪出的最多小饰条个数。

样例

输入

abcde a3
aaaaaa aa
#

输出

0
3

代码详解

思路

模板题,无脑过

ACcode

#include<bits/stdc++.h>
using namespace std;
const int N=1e7;
char A[N],B[N];
int p[N];
int ans;
int m,n;
int kmp(){
	int j=0;
	ans=0;
	for(int i=0;i<n;i++){
		while(j>0&&B[j+1]!=A[i+1]){
			j=p[j];
		}
		if(B[j+1]==A[i+1]){
			j++;
		}
		if(j==m){
			ans++;
			j=0;
		}
	}
	return ans;
}
void pre(){
	p[1]=0;
	int j=0;
	for(int i=1;i<m;i++){
		while(j>0&&B[j+1]!=B[i+1]){
			j=p[j];
		}
		if(B[j+1]==B[i+1]){
			j++;
		}
		p[i+1]=j;
	}
}
int main()
{
	while(cin>>A+1){
		scanf("%s",B+1);
		m=strlen(B+1),n=strlen(A+1);
		if(A[1]=='#'&&n==1){
			break;
		}
		pre();
		printf("%d\n",kmp());
	}
	return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/704999.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

以加快工程和科学发展为使命,MathWorks 创新步履不止

一直以来&#xff0c;人类对于宇宙苍穹、高山峻岭的探索永不止步。今年是人类首次登月54周年&#xff0c;毋庸置疑&#xff0c;“登月计划”激发了全世界所有人的想象力。正由于这项计划&#xff0c;让耐高温的金属和合金防火面料、冻干食品及光伏电池、集成电路、计算机以及备…

解密Linux内核神器:内存屏障的秘密功效与应用方法

一、内存屏障简介 现在大多数现代计算机为了提高性能而采取乱序执行&#xff0c;这可能会导致程序运行不符合我们预期&#xff0c;内存屏障就是一类同步屏障指令&#xff0c;是CPU或者编译器在对内存随机访问的操作中的一个同步点&#xff0c;只有在此点之前的所有读写操作都执…

信号链噪声分析14

文章目录 概要整体架构流程技术名词解释技术细节小结 概要 提示&#xff1a;这里可以添加技术概要 虽然噪声的均方根值可通过 q/√12 计算精确近似值&#xff0c;但在某些条件下&#xff0c;频域成分可能 与交流输入信号高度相关。例如&#xff0c;低幅度周期性信号的相关度大…

智慧厕所系统:革新公厕管理的智能解决方案

公厕是城市基础设施的重要组成部分&#xff0c;但由于管理难度大、人员分散等问题&#xff0c;公厕的管理一直是一个难题。智慧公厕系统通过智能化的监控设备和传感器&#xff0c;实时监测公厕的使用情况和卫生状况&#xff0c;并将数据传输到中央控制系统。管理员可以通过该系…

C++学习笔记-第8单元 运算符重载

第8单元 运算符重载 文章目录 第8单元 运算符重载单元导读单元导读1&#xff1a;深度学习与C单元导读2&#xff1a;向量、矩阵、张量 8.1 运算符重载与平面向量类8.1.1 运算符与函数的关系8.1.2 平面向量类8.1.3 C运算符函数8.1.4 [C11]左值、纯右值、将亡值 8.2 重载二元运算符…

极致呈现系列之终章:Vue3中封装Echarts组件

经过前面一系列博文的介绍&#xff0c;我已经详细地讲解了Echarts中涉及的各种图表类型。所以&#xff0c;我认为极致呈现系列文章到此基本告一段落了。作为这个系列文章的终章&#xff0c;我想探讨最后一个问题&#xff1a;如何封装Echarts组件。我觉得这是一个很好的结尾&…

黑马程序员-从0到1学习Linux-第一章 初识Linux

视频学习地址&#xff1a;黑马程序员新版Linux零基础快速入门到精通&#xff0c;全涵盖linux系统知识、常用软件环境部署、Shell脚本、云平台实践、大数据集群项目实战等_哔哩哔哩_bilibili 目录 操作系统概述 初识Linux系统 虚拟机介绍 VMware WorkStation安装 在VMware上…

【Langchain】GPT的高效插件

功能1&#xff1a;让模型具有memory 可以看到&#xff0c;langchain作为访问gpt的一个插件&#xff0c;可以让gpt模型通过memory变量将之前的对话记录下来&#xff0c;从而使模型具有记忆&#xff08;在不改变模型参数的情况下&#xff09;。 查看memory变量包含了什么&#…

在blender中使用python程序化建模

blender中&#xff0c;所有可以在Blender软件中的手动操作&#xff0c;基本都可以通过Python API 完成 那么就可以用这个完成程序化生成 下面我给出一个简单的方块建模程序&#xff1a; 在scripting中&#xff0c;可以添加file&#xff0c;然后向场景中心放置一个正方体 首…

前端面试题Vue答案

1.vue的原理? image.png 关键词: 虚拟DOM树访问器属性 解释一下:响应式原理? 当你把一个普通的 JavaScript 对象传入 Vue 实例作为 data 选项&#xff0c;Vue 将遍历此对象所有的 property&#xff0c;并使用 Object.defineProperty把这些 property 全部转为 getter/setter…

开关电源PFC电路原理详解及matlab仿真

PFC全称“Power Factor Correction”&#xff0c;意为“功率因数校正”。PFC电路即能对功率因数进行校正&#xff0c;或者说能提高功率因数的电路。 在电学中&#xff0c;功率因数PF指有功功率P&#xff08;单位w&#xff09;与视在功率S&#xff08;单位VA&#xff09;的比值。…

【Linux】fdisk命令参数详解(图文超详细,内容来自官方文档)

目录 0.环境 1.背景 2.内容--官方文档对fdisk的介绍 1&#xff09;名称 2&#xff09;说明 3&#xff09;具体参数/选项 4&#xff09;举个栗子&#xff0c;我要查fdisk的版本 0.环境 windows linux虚拟机 1.背景 之前发表了一篇文章Linux 用fdisk进行磁盘分区&#xff…

Python语法基础03(输入与while)

用户输入 使用input()函数可以获取输入&#xff0c;同时应说清楚所期待的输入内容 #使用函数input时&#xff0c;要说清楚期望的输入 carinput("Please input your favourite car.\nAnd i will repeat:") print(f"your favourite car is {car}")## 也可…

多元分类预测 | Matlab灰狼算法(GWO)优化混合核极限学习机(HKELM)分类预测,多特征输入模型,GWO-HKELM分类预测

文章目录 效果一览文章概述部分源码参考资料效果一览 文章概述 多元分类预测 | Matlab灰狼算法(GWO)优化混合核极限学习机(HKELM)分类预测,多特征输入模型,GWO-HKELM分类预测 多特征输入单输出的二分类及多分类模型。程序内注释详细,直接替换数据就可以用。程序语言为matlab…

NFTScan 与 Sender Wallet 达成合作伙伴,双方在多链 NFT 数据方面展开合作!

近日&#xff0c;NFT 数据基础设施 NFTScan 与 Web3 钱包 Sender Wallet 达成合作伙伴关系&#xff0c;成为其官方 NFT 数据供应商。NFTScan 将为 Sender Wallet 的 NFT 部分提供专业的多链 NFT 数据支持&#xff0c;确保用户可以跨多个区块链获得全面和实时的 NFT 数据。 Sen…

Latex 文献引用

来源&#xff1a; 引用 - 为什么叫 citet 和 citep&#xff1f;- TeX - LaTeX 堆栈交换 (stackexchange.com) 来源&#xff1a; latex \cite, \citet, \citep_latex citet_juliosun的博客-CSDN博客 来源&#xff1a;https://www.reddit.com/r/LaTeX/comments/5g9kn1/whats_th…

【网络安全带你练爬虫-100练】第1练:发送请求获取返回内容

目录 一、前置知识1 二、前置知识2 requests库的7个主要方法 语法&#xff1a; 注解&#xff1a; 三、扩展工具 四、网络安全小圈子 一、前置知识1 顾名思义网络爬虫第一步&#xff0c;爬取目标 URL的网页的信息 可以使用 urllib.request 和 requests发送请求&#xff0…

瞄准光储赛道的家电巨头,是没活“硬整”,还是有理有据?

2023年上半年即将结束&#xff0c;家电巨头再次带来跨界的重磅消息。 在A股公司合康新能月底发布的定增公告中&#xff0c;美的集团&#xff0c;成为合康新能定增的包揽者。后者将获得前者提供的高达14.73亿元的募集资金总额&#xff0c;用于电子设备业务能力提升项目、光伏产…

一部手机如何登录多个微信?教你一招轻松搞定

现在大部分人都不止2个微信&#xff0c;有的用于私人社交&#xff0c;有的用于工作&#xff0c;人手多个微信已经很普遍了。那么如何在一个手机上同时登录2个甚至更多微信呢&#xff1f; 01登录2个微信 找到手机上面的【设置】&#xff0c;找到【应用设置】-【应用双开】&am…

Redis通信协议

RESP协议 Redis是一个CS架构的软件&#xff0c;通信一般分两步&#xff08;不包括pipeline和PubSub&#xff09;&#xff1a; ① 客户端&#xff08;client&#xff09;向服务端&#xff08;server&#xff09;发送一条命令 ② 服务端解析并执行命令&#xff0c;返回响应结果…