CF1553B.Reverse String
普及-
通过率:0%
时间限制:3.00s
内存限制:256MB
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
You have a string s and a chip, which you can place onto any character of this string.
After placing the chip, you move it to the right several (maybe zero) times, i. e. you perform the following operation several times: if the current position of the chip is i, you move it to the position i+1. Of course, moving the chip to the right is impossible if it is already in the last position.
After moving the chip to the right, you move it to the left several (maybe zero) times, i. e. you perform the following operation several times: if the current position of the chip is i, you move it to the position i−1. Of course, moving the chip to the left is impossible if it is already in the first position.
When you place a chip or move it, you write down the character where the chip ends up after your action. For example, if s is abcdef, you place the chip onto the 3-rd character, move it to the right 2 times and then move it to the left 3 times, you write down the string cdedcb.
You are given two strings s and t. Your task is to determine whether it's possible to perform the described operations with s so that you write down the string t as a result.
你有一个字符串 s 和一个棋子,你可以将该棋子放置在该字符串的任意一个字符上。
放置棋子后,你需要将其向右移动若干次(可能为零次),即重复执行以下操作:若棋子当前位于位置 i,则将其移动到位置 i+1。当然,若棋子已处于最后一个位置,则无法再向右移动。
向右移动结束后,你需要将其向左移动若干次(可能为零次),即重复执行以下操作:若棋子当前位于位置 i,则将其移动到位置 i−1。当然,若棋子已处于第一个位置,则无法再向左移动。
每次放置棋子或移动棋子时,你需记录下棋子在该次操作结束后所处位置上的字符。例如,若 s 为 abcdef,你将棋子放置在第 3 个字符(即 'c')上,向右移动 2 次,再向左移动 3 次,则记录下的字符串为 cdedcb。
现给你两个字符串 s 和 t。你的任务是判断:能否对 s 执行上述操作,使得最终记录下的字符串恰好为 t。
输入格式
The first line contains one integer q (1≤q≤500) — the number of test cases.
Each test case consists of two lines. The first line contains the string s (1≤∣s∣≤500), the second line contains the string t (1≤∣t∣≤2⋅∣s∣−1). Both strings consist of lowercase English characters.
It is guaranteed that the sum of ∣s∣ over all test cases does not exceed 500.
第一行包含一个整数 q(1≤q≤500),表示测试用例的数量。
每个测试用例由两行组成。第一行包含字符串 s(1≤∣s∣≤500),第二行包含字符串 t(1≤∣t∣≤2⋅∣s∣−1)。两个字符串均由小写英文字母组成。
保证所有测试用例中 ∣s∣ 的总和不超过 500。
输出格式
For each test case, print "YES" if you can obtain the string t by performing the process mentioned in the statement with the string s, or "NO" if you cannot.
You may print each letter in any case (YES, yes, Yes will all be recognized as positive answer, NO, no and nO will all be recognized as negative answer).
对于每个测试用例,如果可以通过对字符串 s 执行题目描述中的操作来得到字符串 t,则输出 "YES";否则输出 "NO"。
你可以以任意大小写形式输出每个字母(例如 "YES"、"yes"、"Yes" 均被视为肯定回答,"NO"、"no"、"nO" 均被视为否定回答)。
输入输出样例
输入#1
6 abcdef cdedcb aaa aaaaa aab baaa ab b abcdef abcdef ba baa
输出#1
YES YES NO YES YES NO
说明/提示
Consider the examples.
The first test case is described in the statement.
In the second test case, you can place the chip on the 1-st position, move it twice to the right, and then move it twice to the left.
In the fourth test case, you can place the chip on the 2-nd position, and then don't move it at all.
In the fifth test case, you can place the chip on the 1-st position, move it 5 times to the right, and then finish the process.
请参考以下示例。
第一个测试用例已在题目描述中给出。
在第二个测试用例中,你可以将棋子放置在第 1 个位置,然后向右移动两次,再向左移动两次。
在第四个测试用例中,你可以将棋子放置在第 2 个位置,之后完全不移动它。
在第五个测试用例中,你可以将棋子放置在第 1 个位置,然后向右移动 5 次,随后结束该过程。
输入解题思路,AI测评打分。不知道怎么写?