#CF2048C. 凯文和二进制串
凯文和二进制串
C. Kevin 和二进制串
时间限制:2 秒
内存限制:256 MB
Kevin 在月光河公园的河边发现了一个以 开头的二进制串 ,并把它交给了你。你需要选择 的两个非空子串(可以重叠),使得这两个子串代表的二进制数的 XOR 值最大。
两个二进制串 和 的 XOR 定义为:把 看成二进制整数(最左边是最高位),对这两个整数做按位异或() 运算的值。 你选出的串可以包含前导零。
字符串 是 的子串,当且仅当 可以由 删除开头若干个(可零)、结尾若干个(可零)字符得到。
输入
每个测试点包含多组数据。 第一行一个整数 (),表示测试用例数量。
每组数据一行,一个以 开头的二进制串 ()。 保证所有测试用例的 之和不超过 。
输出
对于每组数据,输出四个整数: 满足 ,表示你选出的两个子串。
如果有多种最优答案,输出任意一种即可。
样例输入
5
111
1000
10111
11101
1100010001101
样例输出
2 2 1 3
1 3 1 4
1 5 1 4
3 4 1 5
1 13 1 11
说明
- 第一个样例:选子串 和 ,,可以证明是最大。
- 第二个样例:选 和 ,,为最优。