当前位置: 首页 > news >正文

AcWing 4382. 快速打字

原题链接:AcWing 4382. 快速打字
关键词:双指针、判断子序列

芭芭拉是一个速度打字员。

为了检查她的打字速度,她进行了一个速度测试。

测试内容是给定她一个字符串 I,她需要将字符串正确打出。

但是,芭芭拉作为一个速度打字员,在追求速度的同时,难免会发生一些错误,按错一些按键。

最终,芭芭拉打出的字符串为 P。

现在,芭芭拉想知道,能否仅通过删除一些额外字母的方式,将字符串 P 变为字符串 I。

如果可以,则输出需要删除的字母数量,如果不行,则输出 IMPOSSIBLE。

输入格式
第一行包含整数 T,表示共有 T 组测试数据。

每组数据占两行,第一行包含字符串 I,第二行包含字符串 P。

输出格式
每组数据输出一个结果,每个结果占一行。

结果表示为 Case #x: y,其中 x 为组别编号(从 1 开始),y 为需要删除的字母数量或 IMPOSSIBLE

数据范围

  • 1≤T≤100,
  • 字符串 I 和 P 均只包含大小写字母。
  • 1≤|I|,|P|≤105

输入样例1:

2
aaaa
aaaaa
bbbbb
bbbbc

输出样例1:

Case #1: 1
Case #2: IMPOSSIBLE

输入样例2:

2
Ilovecoding
IIllovecoding
KickstartIsFun
kkickstartiisfun

输出样例2:

Case #1: 2
Case #2: IMPOSSIBLE



方法一:判断子序列

思路:

用两个指针i和j遍历两个字符串,如果相同便将i往后走,当i能走到头则说明字符串a是字符串b的子序列

C++ 实现:

#include <iostream>
#include <cstring>
using namespace std;const int maxn = 1e5 + 10;
int t, n, m;
char a[maxn], b[maxn];int main(){scanf("%d", &t);for(int cases = 1; cases <= t; cases ++ ){scanf("%s%s", a, b);int i = 0, j = 0, n = strlen(a), m = strlen(b);// 双指针 当i走完说明是a是b的子序列 反之说明不是while(i < n && j < m){if(a[i] == b[j])i++;j++;}printf("Case #%d: ", cases);if(i == n)printf("%d\n", m - n);elseputs("IMPOSSIBLE");}return 0;
}

相关文章:

AcWing 4382. 快速打字

原题链接&#xff1a;AcWing 4382. 快速打字 关键词&#xff1a;双指针、判断子序列 芭芭拉是一个速度打字员。 为了检查她的打字速度&#xff0c;她进行了一个速度测试。 测试内容是给定她一个字符串 I&#xff0c;她需要将字符串正确打出。 但是&#xff0c;芭芭拉作为一…...

DataFrame.query()--Pandas

1. 函数功能 Pandas 中的一个函数&#xff0c;用于在 DataFrame 中执行查询操作。这个方法会返回一个新的 DataFrame&#xff0c;其中包含符合查询条件的数据行。请注意&#xff0c;query 方法只能用于筛选行&#xff0c;而不能用于筛选列。 2. 函数语法 DataFrame.query(ex…...

【C语言】美元名字和面额对应问题

题目 美元硬币从小到大分为1美分&#xff08;penny&#xff09;5美分&#xff08;nickel&#xff09;10美分&#xff08;dime&#xff09;25美分&#xff08;quarter&#xff09;和50美分&#xff08;half-dollar&#xff09;&#xff0c;写一个程序实现当给出一个数字面额可以…...

uniapp隐藏底部导航栏(非自定义底部导航栏)

uniapp隐藏底部导航栏 看什么看&#xff0c;要多看uni官方文档&#xff0c;里面啥都有 看什么看&#xff0c;要多看uni官方文档&#xff0c;里面啥都有 uniapp官方网址&#xff1a;uni设置TabBar // 展示 uni.showTabBar({animation:true,success() {console.debug(隐藏成功)…...

CSS background 背景

background属性为元素添加背景效果。 它是以下属性的简写&#xff0c;按顺序为&#xff1a; background-colorbackground-imagebackground-repeatbackground-attachmentbackground-position 以下所有示例中的花花.jpg图片的大小是4848。 1 background-color background-col…...

安防监控视频平台EasyCVR视频汇聚平台和税务可视化综合管理应用方案

一、方案概述 为了确保税务执法的规范性和高效性&#xff0c;国家税务总局要求全面推行税务系统的行政执法公示制度、执法全过程记录制度和重大执法决定法制审核制度。为此&#xff0c;需要全面推行执法全过程记录制度&#xff0c;并推进信息化建设&#xff0c;实现执法全过程的…...

深度学习实战50-构建ChatOCR项目:基于大语言模型的OCR识别问答系统实战

大家好,我是微学AI,今天给大家介绍一下深度学习实战50-构建ChatOCR项目:基于大语言模型的OCR识别问答系统实战,该项目是一个基于深度学习和大语言模型的OCR识别问答系统的实战项目。该项目旨在利用深度学习技术和先进的大语言模型,构建一个能够识别图像中文本,并能够回答与…...

计算机安全学习笔记(I):访问控制安全原理

访问控制原理 从广义上来讲&#xff0c;所有的计算机安全都与访问控制有关。 RFC 4949: Internet Security Glossary, Version 2 (rfc-editor.org) RFC 4949 定义的计算机安全&#xff1a;用来实现和保证计算机系统的安全服务的措施&#xff0c;特别是保证访问控制服务的措施…...

Linux 虚拟机安装 hadoop

目录 1 hadoop下载 2 解压hadoop 3 为 hadoop 文件夹改名 4 给 hadoop 文件夹赋权 5 修改环境变量 6 刷新环境变量 7 在hadoop313目录下创建文件夹data 8 检查文件 9 编辑 ./core-site.xml文件 10 编辑./hadoop-env.sh文件 11 编辑./hdfs-site.xml文件 12 编辑./mapr…...

FxFactory 8 Pro Mac 苹果电脑版 fcpx/ae/motion视觉特效软件包

FxFactory pro for mac是应用在Mac上的fcpx/ae/pr视觉特效插件包&#xff0c;包含了成百上千的视觉效果&#xff0c;打包了很多插件&#xff0c;如调色插件&#xff0c;转场插件&#xff0c;视觉插件&#xff0c;特效插件&#xff0c;文字插件&#xff0c;音频插件&#xff0c;…...

解决问题:如何在 Git 中查看提交历史

可以使用以下命令查看 Git 中的提交历史&#xff1a; git log这将显示当前分支上的所有提交历史。每个提交的输出包括提交哈希&#xff08;SHA-1 值&#xff09;、作者、日期和提交注释。 您也可以添加一些选项&#xff0c;以获取更详细的提交历史&#xff1a; --oneline 显示…...

不同规模的测试团队分别适合哪些测试用例管理工具?测试用例管理工具选型指南

随着软件系统规模的持续增大&#xff0c;业务复杂度的持续增加&#xff0c;软件测试的复杂度也随之越来越大。软件测试工作的复杂性主要体现在测试用例的编写、维护、执行和管理方面。而创建易于阅读、维护和管理的测试用例能够显著减轻测试工作的复杂性。 本篇文章将较为系统的…...

服务器遭受攻击,CPU升高,流量升高,你一般如何处理

服务器遭受攻击&#xff0c;CPU升高&#xff0c;流量升高&#xff0c;你一般如何处理&#xff1f; 在什么情况下服务器遭受攻击&#xff0c;会导致CPU升高&#xff0c;流量升高 1.DDoS&#xff08;分布式拒绝服务攻击&#xff09;&#xff1a;这是一种常见的网络攻击方式&…...

GPT生产实践之定制化翻译

GPT生产实践之定制化翻译 GPT除了能用来聊天以外&#xff0c;其实功能非常强大&#xff0c;但是我们如何把它运用到生产实践中去&#xff0c;为公司带来价值呢&#xff1f;下面一个使用案例–使用gpt做专业领域定制化翻译 思路&#xff1a; 定制化&#xff1a;有些公司词条的…...

SpringMVC入门笔记

一、SpringMVC简介 1. 什么是MVC MVC是一种软件架构的思想&#xff0c;将软件按照模型、视图、控制器来划分 M&#xff1a;Model&#xff0c;模型层&#xff0c;指工程中的JavaBean&#xff0c;作用是处理数据 JavaBean分为两类&#xff1a; 一类称为实体类Bean&#xff1…...

如何构建多域名HTTPS代理服务器转发

在当今互联网时代&#xff0c;安全可靠的网络访问是至关重要的。本文将介绍如何使用SNI Routing技术来构建多域名HTTPS代理服务器转发&#xff0c;轻松实现多域名的安全访问和数据传输。 SNI代表"Server Name Indication"&#xff0c;是TLS协议的扩展&#xff0c;用于…...

【Java 高阶】一文精通 Spring MVC - 数据验证(七)

&#x1f449;博主介绍&#xff1a; 博主从事应用安全和大数据领域&#xff0c;有8年研发经验&#xff0c;5年面试官经验&#xff0c;Java技术专家&#xff0c;WEB架构师&#xff0c;阿里云专家博主&#xff0c;华为云云享专家&#xff0c;51CTO 专家博主 ⛪️ 个人社区&#x…...

木叶飞舞之【机器人ROS2】篇章_第一节、ROS2 humble及cartorgrapher安装

ROS2的humble安装 1、系统配置ubuntu 22.04 假如长期使用ros2&#xff0c;建议是ubuntu系统或者双系统下安装操作&#xff0c;不要在虚拟机中进行。ubuntu系统能用最新的大系统就用最新的&#xff0c;比如22.04。等明年24.04出来可以用24.04 2、humble安装 ros版本选择humb…...

Git版本管理(02)patch操作和分支操作整理

1 git patch操作 1.1 git diff比较 使用git diff用于显示当前工作区与暂存区或提交历史之间的差异&#xff0c;如果使用它生成patch&#xff0c;则需要使用git apply命令来引入patch 1.2 git patch打包 使用git format-patch生成patch # 打包最近的一个patch: $git format…...

前端需要理解的HTML知识

HTML&#xff08;超文本标记语言&#xff0c;HyperText Markup Language&#xff09;不是编程语言&#xff0c;而是定义了网页内容的含义和结构的标记语言。。“超文本”&#xff08;hypertext&#xff09;是指连接单个网站内或多个网站间的网页的链接。HTML 使用“标记”&…...

Leetcode 3576. Transform Array to All Equal Elements

Leetcode 3576. Transform Array to All Equal Elements 1. 解题思路2. 代码实现 题目链接&#xff1a;3576. Transform Array to All Equal Elements 1. 解题思路 这一题思路上就是分别考察一下是否能将其转化为全1或者全-1数组即可。 至于每一种情况是否可以达到&#xf…...

DeepSeek 赋能智慧能源:微电网优化调度的智能革新路径

目录 一、智慧能源微电网优化调度概述1.1 智慧能源微电网概念1.2 优化调度的重要性1.3 目前面临的挑战 二、DeepSeek 技术探秘2.1 DeepSeek 技术原理2.2 DeepSeek 独特优势2.3 DeepSeek 在 AI 领域地位 三、DeepSeek 在微电网优化调度中的应用剖析3.1 数据处理与分析3.2 预测与…...

376. Wiggle Subsequence

376. Wiggle Subsequence 代码 class Solution { public:int wiggleMaxLength(vector<int>& nums) {int n nums.size();int res 1;int prediff 0;int curdiff 0;for(int i 0;i < n-1;i){curdiff nums[i1] - nums[i];if( (prediff > 0 && curdif…...

现代密码学 | 椭圆曲线密码学—附py代码

Elliptic Curve Cryptography 椭圆曲线密码学&#xff08;ECC&#xff09;是一种基于有限域上椭圆曲线数学特性的公钥加密技术。其核心原理涉及椭圆曲线的代数性质、离散对数问题以及有限域上的运算。 椭圆曲线密码学是多种数字签名算法的基础&#xff0c;例如椭圆曲线数字签…...

GitHub 趋势日报 (2025年06月08日)

&#x1f4ca; 由 TrendForge 系统生成 | &#x1f310; https://trendforge.devlive.org/ &#x1f310; 本日报中的项目描述已自动翻译为中文 &#x1f4c8; 今日获星趋势图 今日获星趋势图 884 cognee 566 dify 414 HumanSystemOptimization 414 omni-tools 321 note-gen …...

Spring AI 入门:Java 开发者的生成式 AI 实践之路

一、Spring AI 简介 在人工智能技术快速迭代的今天&#xff0c;Spring AI 作为 Spring 生态系统的新生力量&#xff0c;正在成为 Java 开发者拥抱生成式 AI 的最佳选择。该框架通过模块化设计实现了与主流 AI 服务&#xff08;如 OpenAI、Anthropic&#xff09;的无缝对接&…...

【JavaWeb】Docker项目部署

引言 之前学习了Linux操作系统的常见命令&#xff0c;在Linux上安装软件&#xff0c;以及如何在Linux上部署一个单体项目&#xff0c;大多数同学都会有相同的感受&#xff0c;那就是麻烦。 核心体现在三点&#xff1a; 命令太多了&#xff0c;记不住 软件安装包名字复杂&…...

dify打造数据可视化图表

一、概述 在日常工作和学习中&#xff0c;我们经常需要和数据打交道。无论是分析报告、项目展示&#xff0c;还是简单的数据洞察&#xff0c;一个清晰直观的图表&#xff0c;往往能胜过千言万语。 一款能让数据可视化变得超级简单的 MCP Server&#xff0c;由蚂蚁集团 AntV 团队…...

Python 包管理器 uv 介绍

Python 包管理器 uv 全面介绍 uv 是由 Astral&#xff08;热门工具 Ruff 的开发者&#xff09;推出的下一代高性能 Python 包管理器和构建工具&#xff0c;用 Rust 编写。它旨在解决传统工具&#xff08;如 pip、virtualenv、pip-tools&#xff09;的性能瓶颈&#xff0c;同时…...

【p2p、分布式,区块链笔记 MESH】Bluetooth蓝牙通信 BLE Mesh协议的拓扑结构 定向转发机制

目录 节点的功能承载层&#xff08;GATT/Adv&#xff09;局限性&#xff1a; 拓扑关系定向转发机制定向转发意义 CG 节点的功能 节点的功能由节点支持的特性和功能决定。所有节点都能够发送和接收网格消息。节点还可以选择支持一个或多个附加功能&#xff0c;如 Configuration …...