A90629.Required Length

普及+/提高

通过率:0%

时间限制:1.00s

内存限制:128MB

题目描述

给定两个整数 nn 和 xx。你可以对整数 xx 执行若干次操作。

每次操作如下:选择 xx 的十进制表示中至少出现一次的任意一个数字 yy,然后将 xx 替换为 x⋅yx \cdot y。

你希望使 xx 的十进制表示(不含前导零)的长度变为 nn。请问最少需要多少次操作才能达到目标?如果无法实现,请输出 −1-1。

输入格式

输入仅一行,包含两个整数 nn 和 xx(2≤n≤192 \le n \le 19;1≤x<10n−11 \le x < 10^{n-1})。

输出格式

输出一个整数,表示使 xx 的十进制表示长度变为 nn 所需的最少操作次数。如果无法实现,输出 −1-1。

输入输出样例

  • 输入#1

    2 1

    输出#1

    -1
  • 输入#2

    3 2

    输出#2

    4
  • 输入#3

    13 42

    输出#3

    12

说明/提示

样例说明

在第二个样例中,可以通过以下操作序列实现目标:

  1. 用 22 乘以 xx,此时 x=2⋅2=4x = 2 \cdot 2 = 4;
  2. 用 44 乘以 xx,此时 x=4⋅4=16x = 4 \cdot 4 = 16;
  3. 用 66 乘以 xx,此时 x=16⋅6=96x = 16 \cdot 6 = 96;
  4. 用 99 乘以 xx,此时 x=96⋅9=864x = 96 \cdot 9 = 864。

输入解题思路,AI测评打分。不知道怎么写?

首页