CF962C Make a Square
题目描述
给定一个正整数 $n$,且没有前导零(例如数字 04 是不合法的)。
每次操作你可以删除该整数的任意一位数字,要求删除后结果仍然是一个没有前导零的正整数。
请你判断,最少需要多少次操作,才能将 $n$ 变成某个正整数的平方,或者报告无法做到。
一个整数 $x$ 是某个正整数的平方,当且仅当存在正整数 $y$ 使得 $x = y^2$。
输入格式
第一行包含一个整数 $n$($1 \le n \le 2 \cdot 10^{9}$)。该数字没有前导零。
输出格式
如果无法通过上述操作将 $n$ 变成某个正整数的平方,输出 $-1$。否则,输出所需的最小操作次数。
说明/提示
在第一个样例中,我们应当从 $8314$ 中删除数字 $3$ 和 $4$,此后 $8314$ 变为 $81$,而 $81$ 是整数 $9$ 的平方。
在第二个样例中,给定的 $625$ 本身就是整数 $25$ 的平方,因此不需要删除任何数字。
在第三个样例中,无法通过删除数字将 $333$ 变为某个正整数的平方,因此答案为 $-1$。
由 ChatGPT 4.1 翻译