最新公告
  • 欢迎您光临信息学奥赛网,一个优质的信息学编程题库和信息学编程学习资源专业网站。欢迎加入VIP
  • 翻手算法

    正文概述 陈老师   2026-01-20 15:52:26  

    问题描述

    小明酷爱算法,他在编程珠玑一书中了解到了一种新的算法——翻手算法,为了更好的理解算 法,小明找来一叠纸牌,每一张纸牌上只有一个大写或小写的英文字母,他先把这叠纸牌进行洗牌操 作,假设洗牌后纸牌从第一张到最后一张的顺序是azxbcdy,然后按算法中介绍的那样,选择了一个翻手点 2。接着进行翻手操作:

    • 第一次翻手,将前2(翻手点)张纸牌进行逆序排列,得到 zaxbcdyzaxbcdy ;
    • 第二次翻手,将剩下的5张纸牌进行逆序排列,得到 zaydcbxzaydcbx ;
    • 第三次翻手,将现在的牌堆顺序进行逆序排列,得到 xbcdyazxbcdyaz ;

    假设我们输入一行小写字母表示这叠纸牌的初始顺序,输入整数k作为翻手点,请你编写程序输出经过三次翻手后的字符串。

    输入格式

    第一行:一行字符串,仅由大小写英文字母构成。

    第二行:一个正整数 kk ,表示翻手点。

    输出格式

    一行字符串,经过翻手算法后的字符串。

    azxbcdy
    2
    
    xbcdyaz
    

    数据范围与约定

    30%30\% 的数据 0<0< 字符串⻓度 <103<10^3 ;

    100%100\% 的数据 0<0< 字符串长度 <=105<=10^5 ;

    0<k0<k\le 字符串长度

    信息学奥赛网,一个优质的信息学奥赛学习资源平台!
    信息学奥赛网 » 翻手算法