C语言等级考试五级编程题:5位数字最少操作变换
给定初始字符串“12345”,需将其变换为包含5个0-9数字的目标字符串,可使用以下3种操作:
- 交换相邻的两个数字
- 将一个数字加1,若结果>9则变为0(最多使用3次)
- 将一个数字加倍,若结果>9则取除以10的余数(最多使用2次) 求最少经过多少次操作可以完成变换,无法变换则输出-1。
输入:最多100,000组数据,每组为1个5位数字字符串 输出:每组对应最少操作步数或-1
样例输入:
12435
99999
12374
样例输出:
1
-1
3
提示:测试数据量大,建议先以“12345”为初始状态做预处理广搜,记录所有可达状态的最少步数,查询时直接读取。
本题为编程题,提交代码并运行通过测试点后判分。
正在加载题目数据…
子题
该题型需在试卷/作业中作答,单题练习暂不支持
答案解析