D. 数字操作

    传统题 文件IO:number 1000ms 256MiB

数字操作

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

【题目描述】

给你两个整数 n 和 m ,两个整数有相同的数位数目。 你可以执行以下操作任意次:

  • 从n中选择任意一个不是9的数位,并将它增加1 。
  • 从n中选择任意一个不是 0的数位,并将它减少1 。

任意时刻,整数n都不能是一个质数,意味着一开始以及每次操作以后n都不能是质数。

进行一系列操作的代价为n在变化过程中所有值之和。

请你求出将n变为m需要的最小代价,如果无法将n变为m,请你输出 -1 。

【输入格式】

输入一行两个正整数n和m。

【输出格式】

输出一行一个整数,将n变为m需要的最小代价。如果无法将n变为m,则输出 -1。

【数据样例】

【输入数据 1】

10 12

【输出数据 1】

85

【输入数据 2】

4 8

【输出数据 2】

-1

【输入数据 3】

6 2

【输出数据 3】

-1

【说明/提示】

【样例 1 解释】

我们执行以下操作:

增加第一个数位,得到 n = 20 。

增加第二个数位,得到 n = 21 。

增加第二个数位,得到 n = 22 。

减少第一个数位,得到 n = 12 。

总共操作的代价=10+20+21+22+12=85。

【样例 2 解释】

无法将4变成8,4加1变成5,5是质数,故输出-1。

【样例 3 解释】

由于2已经是质数,所以无法将n变成m,故输出-1。

【数据范围】

测试点编号 n和m的范围
1 1≤n,m≤10
2~5 1≤n,m≤1000
6~10 1≤n,m<10000

2026年编程兔冬令营集训第五场

未参加
状态
已结束
规则
IOI
题目
4
开始于
2026-2-5 9:00
结束于
2026-2-5 12:00
持续时间
3 小时
主持人
参赛人数
5