CF1342B.Binary Period

普及-

通过率:0%

时间限制:2.00s

内存限制:256MB

AC君温馨提醒

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

题目描述

Let's say string ss has period kk if si=si+ks_i = s_{i + k} for all ii from 11 to ∣s∣−k|s| - k (∣s∣|s| means length of string ss) and kk is the minimum positive integer with this property.

Some examples of a period: for ss="0101" the period is k=2k=2, for ss="0000" the period is k=1k=1, for ss="010" the period is k=2k=2, for ss="0011" the period is k=4k=4.

You are given string tt consisting only of 0's and 1's and you need to find such string ss that:

  1. String ss consists only of 0's and 1's;
  2. The length of ss doesn't exceed 2⋅∣t∣2 \cdot |t|;
  3. String tt is a subsequence of string ss;
  4. String ss has smallest possible period among all strings that meet conditions 1—3.

Let us recall that tt is a subsequence of ss if tt can be derived from ss by deleting zero or more elements (any) without changing the order of the remaining elements. For example, tt="011" is a subsequence of ss="10101".

我们称字符串 ss 的周期为 kk,如果对所有从 11 到 ∣s∣−k|s| - k 的 ii 均满足 si=si+ks_i = s_{i + k}(其中 ∣s∣|s| 表示字符串 ss 的长度),且 kk 是满足该性质的最小正整数。

一些周期的例子:对于 ss="0101",其周期为 k=2k=2;对于 ss="0000",其周期为 k=1k=1;对于 ss="010",其周期为 k=2k=2;对于 ss="0011",其周期为 k=4k=4。

给定一个仅由 0 和 1 组成的字符串 tt,你需要找到一个字符串 ss,使其满足:

  1. 字符串 ss 仅由 0 和 1 组成;
  2. 字符串 ss 的长度不超过 2⋅∣t∣2 \cdot |t|;
  3. 字符串 tt 是字符串 ss 的子序列;
  4. 在所有满足条件 1—3 的字符串中,字符串 ss 具有最小可能的周期。

我们回顾一下:若字符串 tt 可通过从 ss 中删除零个或多个(任意)字符、且不改变剩余字符的顺序而得到,则称 tt 是 ss 的子序列。例如,tt="011" 是 ss="10101" 的子序列。

输入格式

The first line contains single integer TT (1≤T≤1001 \le T \le 100) — the number of test cases.

Next TT lines contain test cases — one per line. Each line contains string tt (1≤∣t∣≤1001 \le |t| \le 100) consisting only of 0's and 1's.

第一行包含一个整数 TT(1≤T≤1001 \le T \le 100)—— 表示测试用例的数量。

接下来的 TT 行为测试用例,每行一个测试用例。每行包含一个字符串 tt(1≤∣t∣≤1001 \le |t| \le 100),该字符串仅由字符 0 和 1 组成。

输出格式

Print one string for each test case — string ss you needed to find. If there are multiple solutions print any one of them.

每个测试用例输出一个字符串——即你需要找到的字符串 ss。如果存在多个解,输出其中任意一个即可。

输入输出样例

  • 输入#1

    4
    00
    01
    111
    110

    输出#1

    00
    01
    11111
    1010

说明/提示

In the first and second test cases, s=ts = t since it's already one of the optimal solutions. Answers have periods equal to 11 and 22, respectively.

In the third test case, there are shorter optimal solutions, but it's okay since we don't need to minimize the string ss. String ss has period equal to 11.

在第一和第二个测试用例中,由于 s=ts = t 本身已是最优解之一,因此成立。对应答案的周期分别为 11 和 22。

在第三个测试用例中,存在更短的最优解,但这没有问题,因为我们无需最小化字符串 ss。字符串 ss 的周期为 11。

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

首页