2022年03月 C/C++(五级)真题解析#中国电子学会#全国青少年软件编程等级考试

在这里插入图片描述

C/C++编程(1~8级)全部真题・点这里

第1题:数字变换

给定一个包含 5 个数字(0-9)的字符串, 例如 “02943”, 请将“12345”变换到它。 你可以采取 3 种操作进行变换
(1)交换相邻的两个数字
(2)将一个数字加 1。 如果加 1 后大于 9, 则变为 0
(3)将一个数字加倍。 如果加倍后大于 9,则将其变为加倍后的结果除以 10 的余数。
最多只能用第 2 种操作 3 次, 第 3 种操作 2 次 求最少经过多少次操作可以完成变换。
时间限制: 1000
内存限制: 65536
输入
有最多 100,000 组数据 每组数据就是包含 5 个数字的字符串
输出
对每组数据, 输出将"12345"变换到给定字符串所需要的最少操作步数。 如果无法变换成功, 输出-1
样例输入
12435
99999
12374
样例输出
1
-1
3
提示

猜你喜欢

转载自blog.csdn.net/gozhuyinglong/article/details/132610157