#P0189. 翻手算法

翻手算法

问题描述

小明酷爱算法,他在编程珠玑一书中了解到了一种新的算法——翻手算法,为了更好的理解算 法,小明找来一叠纸牌,每一张纸牌上只有一个大写或小写的英文字母,他先把这叠纸牌进行洗牌操 作,假设洗牌后纸牌从第一张到最后一张的顺序是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 字符串长度