U646526 pre 找数字
题目背景
pre 试图找到完美的数字!
PRE 杯(#2026.1.14 Lv.2)T1(CF1400)。
题目描述
pre 认为一个数字 $S$ 是**完美的**,当且仅当存在:
$$\Big ( \lfloor \dfrac {S} {10 ^ {a_1}} \rfloor + \lfloor \dfrac {S \mod 10 ^ {a_1}} {10 ^ {a_2}} \rfloor + \ldots + \lfloor \dfrac {S \mod 10 ^ {a_{n - 1}}} {10 ^ {a_n}} \rfloor \Big ) ^ 2 = S$$
其中的序列 $\{a_i\}$ 必须满足:
$1.$ $a_1$ 是第一个元素,$a_n$ 是最后一个元素,元素下标连续。
$2.$ $\forall j \in [1,n]$ 且 $j \in \mathbb {Z}$,$a_j \in \mathbb {Z}$.
$3.$ $\forall j \in [1,n - 1]$ 且 $j \in \mathbb {Z}$,$a_j > a_{j + 1}$.
$4.$ $a_1 \le 9$, $a_n = 0$.
对应的,$\{a_i\}$ 决定了 $\{ b_i \}$:
$$\{ b_i \} = \{ \lfloor \dfrac {S} {10 ^ {a_1}} \rfloor , \lfloor \dfrac {S \mod 10 ^ {a_1}} {10 ^ {a_2}} \rfloor , \ldots , \lfloor \dfrac {S \mod 10 ^ {a_{n - 1}}} {10 ^ {a_n}} \rfloor\}$$
其中的序列 $\{b_i\}$ 若满足:
$1.$ $b_1$ 是第一个元素,$b_n$ 是最后一个元素,元素下标连续。
$2.$ $\forall j \in [1,n]$ 且 $j \in \mathbb {Z}$,$b_j \in \mathbb {N}$.
$3.$ $b_1 > 0$.
则认为 $\{a_i\}$ 是**符合条件**的。
对应的,$\{b_i\}$ 决定了 $\{c_i \}$:
$$\ c_i \ = \begin{cases}
1 &\text{if } b_i = 0 \\
\lfloor \lg b_i \rfloor + 1&\text{if } b_i > 0
\end{cases}$$
若 $\sum_1^n c_i = \lfloor \lg S \rfloor + 1$ 则认为 $\{b_i\}$ 是**符合条件**的。
现在 pre 给你一个正整数,判断它是不是完美的。如果是,则顺序输出关于一种 **符合条件**的 $\{a_i\}$ 的**符合条件**的数列 $\{b_i\}$,并在开始时输出它的元素个数,反之直接输出 $-1$。(容易证明若存在符合条件的 $\{a_i\}$,则存在同时符合条件 $\{a_i\}$ 和对应的 $\{b_i\}$)
:::info[简单表达]
给一个数,将它连续不相交的分成若干份,每份不能有前导零,使所有份的和的平方等于原来的数,输出对应的方案或回复无解。
:::
输入格式
一行,一个正整数。
输出格式
两行或一行,输出 $\{b_i\}$ 及它的元素个数,或直接输出 $-1$。
说明/提示
对于 $100 \%$ 的数据,$1 \le S \le 10 ^ 9$。
你的所有测试点的输出全部正确,你将得到 $100$ 分,反之 $0$ 分。