P13381 [GCJ 2011 #3] Mystery Square
题目描述
我写下了一个很大的完全平方数的二进制表示,然后把其中一些数字替换成了问号。你能找出我原来的数字是什么吗?
输入格式
输入的第一行是测试用例的数量 $T$。接下来的 $T$ 行,每行包含一个字符串 $S$,表示一个完全平方数的二进制表示,但其中一些数字被问号替换了。
输出格式
对于每个测试用例,输出一行,格式为 "Case #$x$: $N$",其中 $x$ 是测试用例编号(从 1 开始),$N$ 是将 $S$ 中每个 '?' 替换为 '0' 或 '1' 后得到的完全平方数的二进制表示。
说明/提示
**限制条件**
- $1 \leq T \leq 25$。
- $S$ 以 '1' 开头。
- $S$ 只包含字符 '0'、'1' 和 '?'。
- 每个测试用例都恰好有一种可能的 $N$。
**小数据集(10 分,测试集 1 - 可见)**
- $S$ 最多 $60$ 个字符。
- $S$ 中最多有 $20$ 个 '?' 字符。
- 时间限制:6 秒。
**大数据集(31 分,测试集 2 - 隐藏)**
- $S$ 最多 $125$ 个字符。
- $S$ 中最多有 $40$ 个 '?' 字符。
- 时间限制:20 秒。
由 ChatGPT 4.1 翻译