logo AlgoBeat OnlineJudge
登录 注册

#214387. [LNCPC 2025] Kanon

内存限制:1024 MiB 时间限制:6000 ms 标准输入输出
题目类型:VJudge(洛谷) 评测方式:VJudge
上传者: 匿名

题目描述

梦。

我做着一个悠远而长久的梦。

从很久以前就一直在做着这个梦;

在梦中我凝望四季的街道,

期望与永远不会到来的人再度见面,

找寻连自己也早已忘却的遗失的东西。

多少时间、多少岁月从我身边流逝而过,

在无尽的黑夜中,一直、一直都在孤单地等待着——

等待着最后那必将到来的黎明。

——《Kanon》


下文中,我们约定:

  • 字符串的下标从 开始。
  • 对于一个字符串 表示将 依次连接形成的字符串。
  • 表示 在二进制下按位异或得到的值。

亚由的梦里有一个长度为 的、仅由数字 构成的字符串 。她现在需要将其划分成 个非空子段 ,其中

对于每个子段,她决定将其最左侧视为二进制的最高位,直接看成二进制数。形式化地,如果她划分出一个子段 ,则将这个子段看作十进制数 在二进制下的表示。可能有前导零。

现在亚由定义一种划分方案的权值为,这些二进制数的按位异或和。她现在想知道所有划分方案中权值最大是多少,以及权值恰好为最大值的划分方案数量。

然而亚由忘记了 的值,因此她需要对 都求出对应的答案。

可她是个连三次方程都不能轻松解出的小朋友,于是她来求助祐一——也就是您了。

输入格式

每个测试点包含多组测试数据。第一行给定一个整数 ,表示测试数据组数。

对于每组测试数据,给定一行一个仅由 构成的字符串

保证在每个测试点中所有测试数据的字符串的长度的总和不超过

输出格式

对于每组数据,为了避免大量的输出,采用如下输出方式(本题正解不依赖该输出方式):

设对于 ,对应的最大值对 取模后,为 ;权值为最大值的划分方案数对 取模后,为 。则一行输出四个整数 ,用半角空格隔开。其中 的值分别为:

注意,需要取模的只有最终得到的最大值和权值为最大值的划分方案数。您无需在计算 的过程中取模

样例

样例输入 1

5
110
11010
1011010
101111011
11010101101

样例输出 1

5 2 0 6
19 3 24 9
101 4 109 30
405 7 382 33
1225 6 1144 53

数据范围与提示

样例解释

对于样例的第一组测试数据,下面分别算出 时对应的答案:

  • :最大值即为它本身 ,方案数为
  • :当划分方案为 时,都可以得到最大值,为 ,方案数为
  • :划分方案只有 ,最大值为 ,方案数为

这样可以得到 ,可以分别求得

故输出的数分别为