电子学会C/C++编程等级考试2021年06月(五级)真题解析

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
提示
由于测试数据太多,如果对每组数据都从头进行搜索,就会超时。 建议先做预处理,即以“12345”作为初始状态做一遍彻底

最近更新

  1. TCP协议是安全的吗?

    2023-12-09 15:26:01       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-09 15:26:01       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-09 15:26:01       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-09 15:26:01       20 阅读

热门阅读

  1. css实现跑马灯(电子屏滚动)效果

    2023-12-09 15:26:01       35 阅读
  2. 数据结构-队列

    2023-12-09 15:26:01       35 阅读
  3. C语言实战演练之贪吃蛇游戏

    2023-12-09 15:26:01       29 阅读
  4. Day03 嵌入式---中断

    2023-12-09 15:26:01       34 阅读
  5. 什么是VPS?VPS有什么用?

    2023-12-09 15:26:01       39 阅读
  6. .mallox勒索病毒解密:恢复数据与网络安全对策

    2023-12-09 15:26:01       33 阅读