A1828.构造数字

入门

官方

通过率:0%

时间限制:1.00s

内存限制:128MB

题目描述

ACAC 狗发现了两个长度为 nn 的二进制整数 aabb(这两个整数每一位都只能由数字 0011 组成),它们可以有前导零。

为了不忘记这两个整数,它想用以下方式构造整数 dd

  • aabb 逐位相加,但不发生进位得到 cc。例如:01101101 的结果为 1211011000011000 的结果为 022000
  • cc 中连续的相等数字替换成一个数字,得到 dd
    例如:1211 变为 121022000 变为 020

不幸的是,ACAC 狗在计算出 dd 之间就忘记了 aa。现在为了让 ACAC 狗高兴起来,你需要找到一个长度为 nn 的二进制数 aa,使得 aabb 构造出的 dd 最大。

(在比较大小时:102>21102>21, 012<101012<101, 021=21021=21

输入格式

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

每个测试用例的第一行包含整数 nn (1n1051 \le n \le 10^5) — 表示 bb 的长度。

每个测试用例的第二行包含bb

输出格式

对于每个测试用例输出 aa,有前导 00 的话也需要输出。

输入输出样例

  • 输入#1

    5
    1
    0
    3
    011
    3
    110
    6
    111000
    6
    001011

    输出#1

    1
    110
    100
    101101
    101110

说明/提示

在第一个测试用例中,b=0b = 0a=1a = 1d=1d = 1 是最大的。

在第二个测试用例中,b=011b=011

如果 a=000a = 000,则 c=011c = 011 -> d=01d = 01

如果 a=111a = 111,则 c=122c = 122 -> d=12d = 12

如果 a=010a = 010,则 d=021d = 021

如果 a=110a = 110,则 d=121d = 121

可以证明 a=110a = 110 时,dd 是最大的。

在第三个测试用例中,b=110b = 110a=100a = 100d=210d = 210 是最大的。

在第四个测试用例中,b=111000b = 111000a=101101a = 101101d=212101d = 212101 是最大的。

在第五个测试用例中,b=001011b = 001011a=101110a = 101110d=102121d = 102121 是最大的。

首页