CF962C.Make a Square
普及/提高-
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
You are given a positive integer n , written without leading zeroes (for example, the number 04 is incorrect).
In one operation you can delete any digit of the given integer so that the result remains a positive integer without leading zeros.
Determine the minimum number of operations that you need to consistently apply to the given integer n to make from it the square of some positive integer or report that it is impossible.
An integer x is the square of some positive integer if and only if x=y2 for some positive integer y .
输入格式
The first line contains a single integer n ( 1≤n≤2⋅109 ). The number is given without leading zeroes.
输出格式
If it is impossible to make the square of some positive integer from n , print -1. In the other case, print the minimal number of operations required to do it.
输入输出样例
输入#1
8314
输出#1
2
输入#2
625
输出#2
0
输入#3
333
输出#3
-1
说明/提示
In the first example we should delete from 8314 the digits 3 and 4 . After that 8314 become equals to 81 , which is the square of the integer 9 .
In the second example the given 625 is the square of the integer 25 , so you should not delete anything.
In the third example it is impossible to make the square from 333 , so the answer is -1.