来自 2026 清华大学学生程序设计竞赛暨高校邀请赛(THUPC2026)初赛。
题解等资源可在 https://gitlink.org.cn/thusaa/thupc2026pre 查看。
给定一个长为 的 01 串,你需要将其划分为两个子序列(可以为空),使其分别视为二进制数后的和最小。特别地,若子序列为空,则将其视为二进制数 。以二进制形式输出这个最小的和。
从标准输入读入数据。
包含多组数据。第一行一个正整数 (),表示数据组数。接下来 行,每两行表示一组数据,格式如下:
保证所有测试数据中 的总和不超过 。
输出到标准输出。
共 行,其中第 行包含一个整数,表示第 组数据的答案。以二进制形式输出。
2 4 0101 3 000
10 0
对于第一组数据,一种最优方案为:将字符串划分为第 1、2 位的子序列和第 3、4 位的子序列,得到两个二进制数 01 和 01,其和为 。
01
对于第二组数据,显然答案为 。注意此时应输出 0,而不能输出空行。
0