P1949 聪明的打字员_NOI导刊2011提高(10)

    • 110通过
    • 669提交
  • 题目提供者
  • 评测方式 云端评测
  • 标签 搜索 NOI导刊 高性能
  • 难度 提高+/省选-
  • 时空限制 1000ms / 128MB

题解

  • 提示:收藏到任务计划后,可在首页查看。
  • 最新讨论 显示

    推荐的相关题目 显示

    题目描述

    阿兰是某机密部门的打字员,她现在接到一个任务:需要在一天之内输入几百个长度固定为6的密码。当然,她希望输入的过程中敲击键盘的总次数越少越好。

    不幸的是,出于保密的需要,该部门用于输入密码的键盘是特殊设计的,键盘上没有数字键,而只有以下六个键:swap0,swap1,up,down,left,right。为了说明这6个键的作用,我们先定义录入区的6个位置的编号,从左至右依次为1,2,3,4,5,6。下面列出每个键的作用:

    swap0:按swap0,光标位置不变,将光标所在的位置的数字与录入区的1号位置的数字(左起第一个数字)交换。如果光标已经处在录入区的1号位置,则按swap0键之后录入区的数字不变。

    swap1:按swap1,光标位置不变,将光标所在位置的数字与录入区的6号位置的数字(左起第六个数字)交换。如果光标已经处在录入区的6号位置,则按swap1键之后录入区的数字不变。

    up:按up,光标位置不变,讲光标所在位置的数字加1(除非该数字是9)。例如,如果光标所在位置的数字为2,按up之后,该处的数字变为3;如果光标所在位置的数字为9,按up之后,该处的数字不变,光标位置也不变;

    down:按down,光标位置不变,讲光标所在位置的数字减1(除非该数字是0)。如果光标所在位置的数字为0,按down之后,该处的数字不变,光标位置也不变;

    left:按left,光标左移一个位置,如果光标已在录入区的1号位置(左起第一个位置)上,则光标不动;

    right:按right,光标右移一个位置,如果光标已在录入区的6号位置(左起第六个位置)上,则光标不动;

    当然,为了使这样的键盘发挥作用,每次录入密码之前,录入区总会随机出现一个长度为6的初始密码,而且光标会固定出现在1号位置上。当巧妙的使用上述六个特殊键之后,可以得到目标密码,这时光标允许停留在任何一个位置。

    现在,阿兰需要你的帮助,编写一个程序,求出录入一个密码需要的最少的击键次数。

    输入输出格式

    输入格式:

    仅一行,含有两个长度为6的数,前者为初始密码,后者为目标密码,两个密码之间用一个空格隔开。

    输出格式:

    仅一行,含有一个正整数,为最少需要的击键次数。

    输入输出样例

    输入样例#1: 复制
    123456 654321
    输出样例#1: 复制
    11
    提示
    标程仅供做题后或实在无思路时参考。
    请自觉、自律地使用该功能并请对自己的学习负责。
    如果发现恶意抄袭标程,将按照I类违反进行处理。