C语言等级考试五级编程题:5位数字最少操作变换

sd278290 程序题 共 个子题

给定初始字符串“12345”,需将其变换为包含5个0-9数字的目标字符串,可使用以下3种操作:

  1. 交换相邻的两个数字
  2. 将一个数字加1,若结果>9则变为0(最多使用3次)
  3. 将一个数字加倍,若结果>9则取除以10的余数(最多使用2次) 求最少经过多少次操作可以完成变换,无法变换则输出-1。

输入:最多100,000组数据,每组为1个5位数字字符串 输出:每组对应最少操作步数或-1

样例输入:

12435
99999
12374

样例输出:

1
-1
3

提示:测试数据量大,建议先以“12345”为初始状态做预处理广搜,记录所有可达状态的最少步数,查询时直接读取。

本题为编程题,提交代码并运行通过测试点后判分。

正在加载题目数据…
已答 /
子题
该题型需在试卷/作业中作答,单题练习暂不支持
答案解析
提交记录
共 条 仅展示自由练习提交
正在加载提交记录…
讨论
发布
登录后参与讨论 立即登录
发布讨论需先绑定并验证手机号 去绑定手机号
加载中…
我
我
回复 @
回复 @
发送
还没有人讨论,来发表第一条吧