#CF2065E. Skibidus and Rizz

    ID: 6938 传统题 1000ms 256MiB 尝试: 1 已通过: 0 难度: 10 上传者: 标签>构造贪心字符串CodeforcesCodeforces Round 1003(Div4)Div4ECF2065E1600

Skibidus and Rizz

题目描述

情人节将至,Skibidus 拼命需要一种方法来吸引他的暗恋对象!幸运的是,他找到了正解:制造完美的二进制字符串!

给定一个二进制字符串^{\text{∗}} tt,令 xx 表示 tt0\texttt{0} 的个数,yy 表示 tt1\texttt{1} 的个数。我们定义字符串的平衡值为 max(xy,yx)\max(x-y,\, y-x)

Skibidus 给你三个整数 nnmmkk。他希望你构造一个长度为 n+mn+m 的二进制字符串 ss,其中恰好包含 nn0\texttt{0}mm1\texttt{1},并且要求其所有子串^{\text{†}} 的平衡值的最大值恰好为 kk。如果不存在满足条件的字符串,请输出 -1。

^{\text{∗}} 二进制字符串指仅由字符 0\texttt{0}1\texttt{1} 组成的字符串。

^{\text{†}} 字符串 aa 是字符串 bb 的子串,意味着 aa 可以通过删除 bb 开头和结尾的若干(可能为 0 或全部)字符得到。

输入格式

第一行包含一个整数 tt (1t1041 \leq t \leq 10^4),表示测试用例的数量。

每个测试用例的唯一一行包含三个整数 nnmmkk (0n,m21050 \leq n, m \leq 2\cdot 10^51kn+m1 \leq k \leq n+mn+m1n+m \geq 1)。

保证所有测试用例中,nn 的总和和 mm 的总和均不超过 21052\cdot 10^5

输出格式

对于每个测试用例,如果可以构造满足条件的 ss,输出任意一个满足条件的字符串;否则,输出 -1。

样例

6
1 2 1
4 3 2
2 4 3
8 3 2
5 0 4
5 0 5
101
0100101
011011
-1
-1
00000

样例说明

在第一个测试用例中,我们必须构造一个字符串 ss,包含 1 个 0\texttt{0} 和 2 个 1\texttt{1},且所有子串中的最大平衡值为 11。一个可能的满足条件的字符串是 101\texttt{101},原因如下:

  • 考虑由索引 [1,1][1,1] 界定的子串:平衡值为 max(01,10)=1\max(0-1,\, 1-0) = 1
  • 考虑由索引 [1,2][1,2] 界定的子串:平衡值为 max(11,11)=0\max(1-1,\, 1-1) = 0
  • 考虑由索引 [1,3][1,3] 界定的子串:平衡值为 max(12,21)=1\max(1-2,\, 2-1) = 1
  • 考虑由索引 [2,2][2,2] 界定的子串:平衡值为 max(10,01)=1\max(1-0,\, 0-1) = 1
  • 考虑由索引 [2,3][2,3] 界定的子串:平衡值为 max(11,11)=0\max(1-1,\, 1-1) = 0
  • 考虑由索引 [3,3][3,3] 界定的子串:平衡值为 max(01,10)=1\max(0-1,\, 1-0) = 1

在所有可能的子串中,最大的平衡值为 11

在第二个测试用例中,具有最大平衡值的子串为 0100\texttt{0100},其平衡值为 max(31,13)=2\max(3-1,\, 1-3) = 2

来源

Codeforces 2065E,英文题名 Skibidus and Rizz。