洗牌魔术c++求解

描述

小张同学自从看了春晚的扑克魔术之后,就迷上了。自己琢磨了一个魔术。把一副牌按照某种洗牌手法处理之后,翻开每一张已经有序了。

比如,3 2 4 1分别代表4张牌。把最后一张牌放到最上面,再把倒数第二个牌放到第二个位置。就变成了1 2 3 4。

小张的魔术秘密是什么呢?其实很简单,最初的牌看似随意,其实是设计好的,只要按照自己记忆好的洗牌方式,最后一定会变成有序的。

小张在寒假苦练10天,终于有所小成,到了学校之后给朋友展示,谁知道朋友要先洗洗牌,小张蒙了,但没办法,硬着头皮故作轻松说,可以。

小张这时候没有办法了,还是按照之前记忆好的洗牌方式处理,比如在上面的例子,把最后一张牌放到最上面,再把倒数第二个牌放到第二个位置。

这样做,肯定是不行的哇。但小张为了拖延时间,疯狂的调换。按照记忆好的洗牌方式,处理了k遍。请你计算出,洗了k次之后的牌,是什么顺序。

输入描述

输出有四行,
第一行为小张实现设计好的扑克牌顺序。
第二行是小张按照记忆好的洗牌方式,处理过的顺序
第三行是,小张同学洗牌之后的顺序。
第四行是小张洗牌k遍。

前三行均为小写字母,长度相同,每个字母只会出现一次.

k的范围是100以内

输出描述

输出一行字符串,代表小张洗牌k遍之后的顺序

用例输入 1 

abc
cab
cba
1

用例输出 1 

acb

用例输入 2 

abcd
bcda
cabd
2

用例输出 2 

bdca

提示

样例解释

样例1解释:我们把初始字符串称为s1,经过一次洗牌之后的字符串称为s2.
可以发现,s1的最后一位变成s2的第一位,s1的第一位,变成s2的第二位,s1的第二位变成s2的最后一位。

所以cba这个字符串经过一次洗牌之后,就变成了acb

样例2解释:
经过一次洗牌之后,变成了abdc,经过两次洗牌之后变成了bdca。

数据范围:

字符串长度为2到26

1≤k≤100

  • 13
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值