CF1774A.Add Plus Minus Sign

传统题 时间 2000 ms 内存 256 MiB 3 尝试 1 已通过 1 标签

Add Plus Minus Sign

题目描述

AquaMoon 有一个只包含 0011 的字符串 aa。她想在所有相邻的位置之间添加 ++-,使得最终表达式的绝对值尽可能小。你能帮帮她吗?

输入格式

第一行包含一个整数 tt1t20001 \leq t \leq 2000),表示测试用例的数量。接下来是每个测试用例的描述。

每个测试用例的第一行包含一个整数 nn2n1002 \leq n \leq 100),表示 aa 的长度。

每个测试用例的第二行包含一个长度为 nn 的字符串 aa,仅由 0011 组成。

输出格式

对于每个测试用例,输出一行长度为 n1n-1 的字符串,仅包含 -++。如果有多种符号分配方式能得到最小的绝对值,输出任意一种即可。

说明/提示

在第一个测试用例中,我们可以得到表达式 11=01 - 1 = 0,其绝对值为 00

在第二个测试用例中,我们可以得到表达式 0+11+0+1=10 + 1 - 1 + 0 + 1 = 1,其绝对值为 11

在第三个测试用例中,我们可以得到表达式 1+0+0+01=01 + 0 + 0 + 0 - 1 = 0,其绝对值为 00

由 ChatGPT 4.1 翻译

样例

3
2
11
5
01101
5
10001
-
+-++
+++-

在线编程 IDE

建议全屏模式获得最佳体验