CF1654B.Prefix Removals

普及/提高-

通过率:0%

AC君温馨提醒

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

题目描述

You are given a string ss consisting of lowercase letters of the English alphabet. You must perform the following algorithm on ss :

  • Let xx be the length of the longest prefix of ss which occurs somewhere else in ss as a contiguous substring (the other occurrence may also intersect the prefix). If x=0x = 0 , break. Otherwise, remove the first xx characters of ss , and repeat.

A prefix is a string consisting of several first letters of a given string, without any reorders. An empty prefix is also a valid prefix. For example, the string "abcd" has 5 prefixes: empty string, "a", "ab", "abc" and "abcd".

For instance, if we perform the algorithm on s=s = "abcabdc",

  • Initially, "ab" is the longest prefix that also appears somewhere else as a substring in ss , so s=s = "cabdc" after 11 operation.
  • Then, "c" is the longest prefix that also appears somewhere else as a substring in ss , so s=s = "abdc" after 22 operations.
  • Now x=0x=0 (because there are no non-empty prefixes of "abdc" that also appear somewhere else as a substring in ss ), so the algorithm terminates.

Find the final state of the string after performing the algorithm.

输入格式

The first line contains a single integer tt ( 1t1041 \le t \le 10^4 ) — the number of test cases.

This is followed by tt lines, each containing a description of one test case. Each line contains a string ss . The given strings consist only of lowercase letters of the English alphabet and have lengths between 11 and 21052 \cdot 10^5 inclusive.

It is guaranteed that the sum of the lengths of ss over all test cases does not exceed 21052 \cdot 10^5 .

输出格式

For each test case, print a single line containing the string ss after executing the algorithm. It can be shown that such string is non-empty.

输入输出样例

  • 输入#1

    6
    abcabdc
    a
    bbbbbbbbbb
    codeforces
    cffcfccffccfcffcfccfcffccffcfccf
    zyzyzwxxyyxxyyzzyzzxxwzxwywxwzxxyzzw

    输出#1

    abdc
    a
    b
    deforces
    cf
    xyzzw

说明/提示

The first test case is explained in the statement.

In the second test case, no operations can be performed on ss .

In the third test case,

  • Initially, s=s = "bbbbbbbbbb".
  • After 11 operation, s=s = "b".

In the fourth test case,

  • Initially, s=s = "codeforces".
  • After 11 operation, s=s = "odeforces".
  • After 22 operations, s=s = "deforces".
首页