CF1366G.Construct the String

省选/NOI-

通过率:0%

时间限制:4.00s

内存限制:512MB

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

Let's denote the function f(s)f(s) that takes a string ss consisting of lowercase Latin letters and dots, and returns a string consisting of lowercase Latin letters as follows:

  1. let rr be an empty string;
  2. process the characters of ss from left to right. For each character cc, do the following: if cc is a lowercase Latin letter, append cc at the end of the string rr; otherwise, delete the last character from rr (if rr is empty before deleting the last character — the function crashes);
  3. return rr as the result of the function.

You are given two strings ss and tt. You have to delete the minimum possible number of characters from ss so that f(s)=tf(s) = t (and the function does not crash). Note that you aren't allowed to insert new characters into ss or reorder the existing ones.

我们定义函数 f(s)f(s),其输入为一个由小写拉丁字母和点号(.)组成的字符串 ss,输出为一个仅由小写拉丁字母组成的字符串,具体定义如下:

  1. 令 rr 为空字符串;
  2. 从左到右依次处理 ss 中的每个字符 cc:若 cc 是一个小写拉丁字母,则将 cc 追加到字符串 rr 的末尾;否则(即 cc 是点号),从 rr 中删除最后一个字符(若在删除前 rr 已为空,则该函数崩溃);
  3. 将 rr 作为函数结果返回。

给定两个字符串 ss 和 tt。你需要从 ss 中删除最少数量的字符,使得 f(s)=tf(s) = t(且函数不崩溃)。注意:你不允许向 ss 中插入新字符,也不允许重新排列 ss 中已有的字符。

输入格式

The input consists of two lines: the first one contains ss — a string consisting of lowercase Latin letters and dots, the second one contains tt — a string consisting of lowercase Latin letters (1≤∣t∣≤∣s∣≤100001 \le |t| \le |s| \le 10000).

Additional constraint on the input: it is possible to remove some number of characters from ss so that f(s)=tf(s) = t.

输入包含两行:第一行包含字符串 ss —— 由小写拉丁字母和英文句点(.)组成的字符串;第二行包含字符串 tt —— 由小写拉丁字母组成的字符串(1≤∣t∣≤∣s∣≤100001 \le |t| \le |s| \le 10000)。

输入的额外约束:可以从小写字母串 ss 中删除若干字符,使得 f(s)=tf(s) = t 成立。

输出格式

Print one integer — the minimum possible number of characters you have to delete from ss so f(s)f(s) does not crash and returns tt as the result of the function.

输出一个整数——即从字符串 ss 中删除的最少字符数量,使得函数 f(s)f(s) 不崩溃,并返回 tt 作为该函数的执行结果。

输入输出样例

  • 输入#1

    a.ba.b.
    abb

    输出#1

    2
  • 输入#2

    .bbac..a.c.cd
    bacd

    输出#2

    3
  • 输入#3

    c..code..c...o.d.de
    code

    输出#3

    3

输入解题思路,AI测评打分。不知道怎么写?

首页