#P13381. [GCJ 2011 #3] Mystery Square

    ID: 13192 远端评测题 6000~20000ms 1024MiB 尝试: 0 已通过: 0 难度: 8 上传者: 标签>数学2011数论Google Code Jam

[GCJ 2011 #3] Mystery Square

Description

我写下了一个很大的完全平方数的二进制表示,然后把其中一些数字替换成了问号。你能找出我原来的数字是什么吗?

Input Format

输入的第一行是测试用例的数量 TT。接下来的 TT 行,每行包含一个字符串 SS,表示一个完全平方数的二进制表示,但其中一些数字被问号替换了。

Output Format

对于每个测试用例,输出一行,格式为 "Case #xx: NN",其中 xx 是测试用例编号(从 1 开始),NN 是将 SS 中每个 '?' 替换为 '0' 或 '1' 后得到的完全平方数的二进制表示。

3
1???
1
10??110??00??1000??
Case #1: 1001
Case #2: 1
Case #3: 1011110110000100001

Hint

限制条件

  • 1T251 \leq T \leq 25
  • SS 以 '1' 开头。
  • SS 只包含字符 '0'、'1' 和 '?'。
  • 每个测试用例都恰好有一种可能的 NN

小数据集(10 分,测试集 1 - 可见)

  • SS 最多 6060 个字符。
  • SS 中最多有 2020 个 '?' 字符。
  • 时间限制:6 秒。

大数据集(31 分,测试集 2 - 隐藏)

  • SS 最多 125125 个字符。
  • SS 中最多有 4040 个 '?' 字符。
  • 时间限制:20 秒。

由 ChatGPT 4.1 翻译