蓝桥杯历届-巧排扑克牌


小明刚上小学,学会了第一个扑克牌“魔术”,到处给人表演。魔术的内容是这样的:他手里握着一叠扑克牌:A,2,....J,Q,K 一共13张。他先自己精心设计它们的顺序,然后正面朝下拿着,开始表演。只见他先从最下面拿一张放到最上面,再从最下面拿一张翻开放桌子上,是A;然后再从最下面拿一张放到最
面,再从最下面拿一张翻开放桌子上,是2;......如此循环直到手中只有一张牌,翻开放桌子上,刚好是K。这时,桌上牌的顺序是:A,2,3,4,5,6,7,8,9,10,J,Q,K请你计算一下,小明最开始的时候手里牌的顺序是怎样的。把结果写出来,逗号分割,小明“魔术”开始时,最下面的那张牌输出为第一个数据。考场不提供扑克牌,你只能用计算机模拟了,撕碎草稿纸模拟扑克属于作弊行为!另外,你有没有把录像倒着放过?很有趣的!回去试试!

思路:题目中提示了“有没有把录像倒着放过?”这句话,意思就是让魔术师的动作倒转就可以求出原来牌的组合!仔细看,题目中“先从最下面拿一张放到最上面,再从最下面拿一张翻开放桌子上”,倒过来就是“将放在桌子上的牌放在牌堆最下面,将牌堆的最上面一张放在最下面”,好的,大功告成,只要将结果按照这个顺序排就OK了!
代码1是按照魔术师的操作步骤编的程(用来测试的代码):
如果按照魔术师的步骤,1,2,3,4,5经过变换之后最后结果是4,2,5,1,3
那么请代码2就是用反向思维将4,2,5,1,3变回1,2,3,4,5的
桌面上是4,2,5,1,3
步骤:
3
31->13
135->351
3512->5123
51234->12345


#include<cstdio>
#include<iostream>
#include<list>
using namespace std;
int main() {int a2[] = {13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1};list<int> a;list<int> a1;list<int>::iterator it1;for (int i = 0; i < 13; i++) {a.push_back(a2[i]);}for (it1 = a.begin(); it1 != a.end(); it1++) {a1.push_back(*it1);if (a1.size() > 1) {int t = a1.front();a1.erase(a1.begin());a1.push_back(t);}}it1 = a1.end();it1--;for (; it1 != a1.begin(); it1--) {if (*it1 == 11) {printf("J ");} else if (*it1 == 12) {printf("Q ");} else if (*it1 == 13) {printf("K ");} else if (*it1 == 1) {printf("A ");} else printf("%d ", *it1);}printf("%d", *it1); return 0;
}

答案是7, A, Q, 2, 8, 3, J, 4, 9, 5, K, 6, 10


蓝桥杯历届-巧排扑克牌相关推荐

  1. LQ0266 巧排扑克牌【模拟】

    题目来源:蓝桥杯2012初赛 C++ C组D题 题目描述 本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可. 小明刚上小学,学会了第一个扑克牌"魔术",到处给 ...

  2. [蓝桥杯][历届试题]国王的烦恼(反向+并查集)

    问题 1435: [蓝桥杯][历届试题]国王的烦恼 时间限制: 1Sec 内存限制: 128MB 提交: 802 解决: 213 题目描述 C国由n个小岛组成,为了方便小岛之间联络,C国在小岛间建立了 ...

  3. 蓝桥杯 - 历届试题 - 日期问题

    版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/qq_33531813/article/details/79516258 </div>&l ...

  4. 蓝桥杯历届试题 地宫取宝 dp or 记忆化搜索

    问题描述 X 国王有一个地宫宝库.是 n x m 个格子的矩阵.每个格子放一件宝贝.每个宝贝贴着价值标签. 地宫的入口在左上角,出口在右下角. 小明被带到地宫的入口,国王要求他只能向右或向下行走. 走 ...

  5. 二分搜索,POJ2456,NYOJ 914, 区间移位-蓝桥杯-历届试题

    二分搜索是不断缩减可能解的范围来得到最优解, 因为每次是折半, 所以指数爆炸有多快,这个效率就有多高 POJ2456为例, 传送门 简而言之, 就是将牛之间的距离的最小值最大化. #include&l ...

  6. 蓝桥杯历届试题代码参考

    蓝桥杯历届试题代码参考 历届试题 核桃的数量 打印十字图 带分数 剪格子 错误票据 翻硬币 连号区间数 买不到的数目 大臣的旅费 幸运数 横向打印二叉树 危险系数 网络寻路 高僧斗法 格子刷油漆 农场 ...

  7. 蓝桥杯历届-奇妙的数字

    蓝桥杯历届-奇妙的数字 奇妙的数字 小明发现了一个奇妙的数字.它的平方和立方正好把0~9的10个数字每个用且只用了一次. 你能猜出这个数字是多少吗? 请填写该数字,不要填写任何多余的内容. #incl ...

  8. 蓝桥杯历届-穿越雷区

    蓝桥杯历届-穿越雷区 标题:穿越雷区 X星的坦克战车很奇怪,它必须交替地穿越正能量辐射区和负能量辐射区才能保持正常运转,否则将报废. 某坦克需要从A区到B区去(A,B区本身是安全区,没有正能量或负能量 ...

  9. 问题 1433: [蓝桥杯][历届试题]危险系数(并查集and暴力)

    问题 1433: [蓝桥杯][历届试题]危险系数 时间限制: 1Sec 内存限制: 128MB 提交: 123 解决: 39 题目描述 问题描述 抗日战争时期,冀中平原的地道战曾发挥重要作用. 地道的 ...

最新文章

  1. 如何用Python从本地将一个文件备份到Google Drive
  2. h3c wa2620胖ap设置_AP考试|错过报名不用慌,香港考区目前仍然可以报名!
  3. 眼见为实?其实是“脑补”!华人数学家解开视觉奥秘:一切都是大脑假装让人看见...
  4. mac下idea 13 在tomcat 7控制台乱码
  5. Python机器学习(1)-- 自己设计一个感知机(Perceptron)分类算法
  6. delphi中的第三方控件如何安装
  7. 计算机应用基础王秀娟,计算机应用基础课教学内容设计分析.doc
  8. 写c语言会出现哪些常见错误,C语言编写常见错误
  9. Linux C语言操作SQLite数据库
  10. 2018: 跑图(深搜)
  11. 贺利坚老师汇编课程54笔记:CF进位标志CARRY FLAG
  12. 计算机应用基础 东师 离线,奥鹏东师秋季计算机应用基础离线作业答案
  13. 将数值位转换为字符位后输出
  14. C# MD5加密与解密
  15. 卖货文案二:建立消费者信任
  16. 我很高兴,很欣慰:)
  17. 2018年计算机考证时间
  18. 生死看淡,不服就GAN(八)----WGAN的改进版本WGAN-GP
  19. 口袋西游150服务器维护,口袋西游版本更新披露 幽冥界场景首曝
  20. Google网址大全

热门文章

  1. Linux定时任务crond服务
  2. Windows 7下的Comodo Firewall免费防火墙
  3. 英语词汇--索马里海盗事件
  4. Beehive:用于修复分布式存储系统中多个故障的纠删码
  5. 使用mac电脑访问局域网云盘的方法
  6. bbs jsp mysql_BBS 一个比较简单的用jsp+servlet+mysql做的bbs论坛 Jsp/ 265万源代码下载- www.pudn.com...
  7. 关于2021年联合培养考试材料审核结果的解读
  8. 10-164 查询图书表中全部图书的最高售价、最低售价和平均售价
  9. yyyy-MM-dd和YYYY-MM-dd的区别
  10. (转)艾宾浩斯遗忘曲线——记忆与复习