请选择 进入手机版 | 继续访问电脑版

泡泡的课堂小练习之怪异的洗牌

[复制链接]
期待幸福 发表于 2021-1-2 19:42:44 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
题目形貌

对于一副扑克牌,我们有多种差别的洗牌方式。一种方法是从中间某个位置分成两半,然后相交换,我们称之为移位(shift)。好比原来的序次是123456,从第4个位置交换,效果就是561234。这个方式实在就是数组的循环移位,为了多次举行这个操纵,必须使用一种尽大概快的方法来编程实现。在本题目中,还引入别的一种洗牌方式,就是把前一半(如果总数是奇数,就是(n-1)/2)牌翻转过来,这种操纵称之为翻转(flip)。在前面shift操纵的效果上举行flip,效果就是165234。固然,如果是实际的扑克牌,直接翻转会造成正反面混在一起的,我们就不管那么多了。 给定n张牌,初始序次为从1到n,颠末若干次的shift和flip操纵后,效果会是什么样?
输入形貌:


输入包罗多组测试数据,每组数据的第一行包罗两个数 n和k。n体现牌的数目,1k)    {            //循环生存数据到vector容器中        vector v1(n,0);        for(int i=1;iv2;        }        //循环v2的巨细        for(int i=0;i
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则


专注素材教程免费分享
全国免费热线电话

18768367769

周一至周日9:00-23:00

反馈建议

27428564@qq.com 在线QQ咨询

扫描二维码关注我们

Powered by Discuz! X3.4© 2001-2013 Comsenz Inc.( 蜀ICP备2021001884号-1 )