CF1352F Binary String Reconstruction
题目描述
对于某个二进制字符串 $s$(即每个字符 $s_i$ 只能是 '0' 或 '1'),我们记录了所有相邻字符对。换句话说,记录了所有长度为 $2$ 的子串。对于每一对(长度为 $2$ 的子串),计算其中 '1' 的个数。
现在给定三个数字:
- $n_0$ —— 相邻字符对(长度为 $2$ 的子串)中 '1' 的个数为 $0$ 的对数;
- $n_1$ —— 相邻字符对中 '1' 的个数为 $1$ 的对数;
- $n_2$ —— 相邻字符对中 '1' 的个数为 $2$ 的对数。
例如,对于字符串 $s=$ "1110011110",所有长度为 $2$ 的子串为:"11"、"11"、"10"、"00"、"01"、"11"、"11"、"11"、"10"。因此,$n_0=1$,$n_1=3$,$n_2=5$。
你的任务是根据给定的 $n_0, n_1, n_2$ 恢复出任意一个符合条件的二进制字符串 $s$。保证至少有一个 $n_0, n_1, n_2$ 大于 $0$,且一定存在解。
输入格式
第一行包含一个整数 $t$($1 \le t \le 1000$),表示测试用例的数量。接下来是 $t$ 组测试数据。
每组测试数据占一行,包含三个整数 $n_0, n_1, n_2$($0 \le n_0, n_1, n_2 \le 100$,且 $n_0 + n_1 + n_2 > 0$)。保证对于给定的 $n_0, n_1, n_2$ 一定存在解。
输出格式
输出 $t$ 行,每行对应一个测试用例,输出一个符合条件的二进制字符串。如果有多种可能的答案,输出任意一种即可。
说明/提示
由 ChatGPT 4.1 翻译