CF1194C.From S To T

普及-

通过率:0%

时间限制:1.00s

内存限制:256MB

AC君温馨提醒

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

题目描述

You are given three strings ss, tt and pp consisting of lowercase Latin letters. You may perform any number (possibly, zero) operations on these strings.

During each operation you choose any character from pp, erase it from pp and insert it into string ss (you may insert this character anywhere you want: in the beginning of ss, in the end or between any two consecutive characters).

For example, if pp is aba, and ss is de, then the following outcomes are possible (the character we erase from pp and insert into ss is highlighted):

  • aba →\rightarrow ba, de →\rightarrow ade;
  • aba →\rightarrow ba, de →\rightarrow dae;
  • aba →\rightarrow ba, de →\rightarrow dea;
  • aba →\rightarrow aa, de →\rightarrow bde;
  • aba →\rightarrow aa, de →\rightarrow dbe;
  • aba →\rightarrow aa, de →\rightarrow deb;
  • aba →\rightarrow ab, de →\rightarrow ade;
  • aba →\rightarrow ab, de →\rightarrow dae;
  • aba →\rightarrow ab, de →\rightarrow dea;

Your goal is to perform several (maybe zero) operations so that ss becomes equal to tt. Please determine whether it is possible.

Note that you have to answer qq independent queries.

给你三个由小写拉丁字母组成的字符串 ss、tt 和 pp。你可以对这些字符串执行任意次数(可能为零)的操作。

在每次操作中,你需从 pp 中任选一个字符,将其从 pp 中删除,并插入到字符串 ss 中(你可以将该字符插入到 ss 的任意位置:开头、结尾,或任意两个相邻字符之间)。

例如,若 pp 为 aba,ss 为 de,则以下结果均是可能的(被从 pp 中删除并插入到 ss 中的字符已高亮显示):

  • aba →\rightarrow ba, de →\rightarrow ade;
  • aba →\rightarrow ba, de →\rightarrow dae;
  • aba →\rightarrow ba, de →\rightarrow dea;
  • aba →\rightarrow aa, de →\rightarrow bde;
  • aba →\rightarrow aa, de →\rightarrow dbe;
  • aba →\rightarrow aa, de →\rightarrow deb;
  • aba →\rightarrow ab, de →\rightarrow ade;
  • aba →\rightarrow ab, de →\rightarrow dae;
  • aba →\rightarrow ab, de →\rightarrow dea;

你的目标是执行若干次(可能为零次)操作,使得 ss 变为与 tt 相等。请判断是否可行。

注意:你需要回答 qq 个相互独立的查询。

输入格式

The first line contains one integer qq (1≤q≤1001 \le q \le 100) — the number of queries. Each query is represented by three consecutive lines.

The first line of each query contains the string ss (1≤∣s∣≤1001 \le |s| \le 100) consisting of lowercase Latin letters.

The second line of each query contains the string tt (1≤∣t∣≤1001 \le |t| \le 100) consisting of lowercase Latin letters.

The third line of each query contains the string pp (1≤∣p∣≤1001 \le |p| \le 100) consisting of lowercase Latin letters.

第一行包含一个整数 qq(1≤q≤1001 \le q \le 100),表示查询次数。每次查询由连续三行组成。

每次查询的第一行包含字符串 ss(1≤∣s∣≤1001 \le |s| \le 100),该字符串仅由小写拉丁字母组成。

每次查询的第二行包含字符串 tt(1≤∣t∣≤1001 \le |t| \le 100),该字符串仅由小写拉丁字母组成。

每次查询的第三行包含字符串 pp(1≤∣p∣≤1001 \le |p| \le 100),该字符串仅由小写拉丁字母组成。

输出格式

For each query print YES if it is possible to make ss equal to tt, and NO otherwise.

You may print every letter in any case you want (so, for example, the strings yEs, yes, Yes and YES will all be recognized as positive answer).

对于每个查询,如果可以使 ss 等于 tt,则输出 YES;否则输出 NO。

您可以以任意大小写形式输出每个字母(例如,字符串 yEs、yes、Yes 和 YES 均会被识别为肯定回答)。

输入输出样例

  • 输入#1

    4
    ab
    acxb
    cax
    a
    aaaa
    aaabbcc
    a
    aaaa
    aabbcc
    ab
    baaa
    aaaaa

    输出#1

    YES
    YES
    NO
    NO

说明/提示

In the first test case there is the following sequence of operation:

  1. $s = $ ab, $t = $ acxb, $p = $ cax;
  2. $s = $ acb, $t = $ acxb, $p = $ ax;
  3. $s = $ acxb, $t = $ acxb, $p = $ a.

In the second test case there is the following sequence of operation:

  1. $s = $ a, $t = $ aaaa, $p = $ aaabbcc;
  2. $s = $ aa, $t = $ aaaa, $p = $ aabbcc;
  3. $s = $ aaa, $t = $ aaaa, $p = $ abbcc;
  4. $s = $ aaaa, $t = $ aaaa, $p = $ bbcc.

在第一个测试用例中,操作序列为:

  1. $s = $ ab,$t = $ acxb,$p = $ cax;
  2. $s = $ acb,$t = $ acxb,$p = $ ax;
  3. $s = $ acxb,$t = $ acxb,$p = $ a。

在第二个测试用例中,操作序列为:

  1. $s = $ a,$t = $ aaaa,$p = $ aaabbcc;
  2. $s = $ aa,$t = $ aaaa,$p = $ aabbcc;
  3. $s = $ aaa,$t = $ aaaa,$p = $ abbcc;
  4. $s = $ aaaa,$t = $ aaaa,$p = $ bbcc。

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

首页