CF1400C.Binary String Reconstruction

普及/提高-

通过率:0%

时间限制:2.00s

内存限制:256MB

AC君温馨提醒

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

题目描述

Consider the following process. You have a binary string (a string where each character is either 0 or 1) ww of length nn and an integer xx. You build a new binary string ss consisting of nn characters. The ii-th character of ss is chosen as follows:

  • if the character wi−xw_{i-x} exists and is equal to 1, then sis_i is 1 (formally, if i>xi \gt x and $w_{i-x} = $ 1, then $s_i = $ 1);
  • if the character wi+xw_{i+x} exists and is equal to 1, then sis_i is 1 (formally, if i+x≤ni + x \le n and $w_{i+x} = $ 1, then $s_i = $ 1);
  • if both of the aforementioned conditions are false, then sis_i is 0.

You are given the integer xx and the resulting string ss. Reconstruct the original string ww.

考虑如下过程:你有一个长度为 nn 的二进制字符串(即每个字符均为 0 或 1 的字符串)ww 和一个整数 xx。你将构建一个新的二进制字符串 ss,其长度也为 nn。ss 的第 ii 个字符按如下规则确定:

  • 若字符 wi−xw_{i-x} 存在且等于 1,则 si=1s_i = 1(形式化地,若 i>xi > x 且 wi−x=1w_{i-x} = 1,则 si=1s_i = 1);
  • 若字符 wi+xw_{i+x} 存在且等于 1,则 si=1s_i = 1(形式化地,若 i+x≤ni + x \le n 且 wi+x=1w_{i+x} = 1,则 si=1s_i = 1);
  • 若上述两个条件均不满足,则 si=0s_i = 0。

现给你整数 xx 和结果字符串 ss,请重构原始字符串 ww。

输入格式

The first line contains one integer tt (1≤t≤10001 \le t \le 1000) — the number of test cases.

Each test case consists of two lines. The first line contains the resulting string ss (2≤∣s∣≤1052 \le |s| \le 10^5, each character of ss is either 0 or 1). The second line contains one integer xx (1≤x≤∣s∣−11 \le x \le |s| - 1).

The total length of all strings ss in the input does not exceed 10510^5.

第一行包含一个整数 tt(1≤t≤10001 \le t \le 1000)—— 测试用例的数量。

每个测试用例由两行组成。第一行包含结果字符串 ss(2≤∣s∣≤1052 \le |s| \le 10^5,ss 的每个字符均为 0 或 1)。第二行包含一个整数 xx(1≤x≤∣s∣−11 \le x \le |s| - 1)。

输入中所有字符串 ss 的总长度不超过 10510^5。

输出格式

For each test case, print the answer on a separate line as follows:

  • if no string ww can produce the string ss at the end of the process, print −1-1;
  • otherwise, print the binary string ww consisting of ∣s∣|s| characters. If there are multiple answers, print any of them.

对于每个测试用例,在单独一行中输出答案,规则如下:

  • 如果不存在字符串 ww 能在该过程结束时生成字符串 ss,则输出 −1-1;
  • 否则,输出由 ∣s∣|s| 个字符组成的二进制字符串 ww。若存在多个合法答案,输出任意一个即可。

输入输出样例

  • 输入#1

    3
    101110
    2
    01
    1
    110
    1

    输出#1

    111011
    10
    -1

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

首页