目录

题目

测试样例

输入样例

输出样例

提交结果截图

带详细注释的源代码


题目

题目链接:

1042 Shuffling Machinehttps://pintia.cn/problem-sets/994805342720868352/problems/994805442671132672

测试样例

输入样例

2
36 52 37 38 3 39 40 53 54 41 11 12 13 42 43 44 2 4 23 24 25 26 27 6 7 8 48 49 50 51 9 10 14 15 16 5 17 18 19 1 20 21 22 28 29 30 31 32 33 34 35 45 46 47

输出样例

S7 C11 C10 C12 S1 H7 H8 H9 D8 D9 S11 S12 S13 D10 D11 D12 S3 S4 S6 S10 H1 H2 C13 D2 D3 D4 H6 H3 D13 J1 J2 C1 C2 C3 C4 D1 S5 H5 H11 H12 C6 C7 C8 C9 S2 S8 S9 H10 D5 D6 D7 H4 H13 C5

提交结果截图

带详细注释的源代码

#include <cstdio>
#include "string.h"
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
/*
S1, S2, ..., S13,//Spade->黑桃♠
H1, H2, ..., H13,//Heart->红桃♥
C1, C2, ..., C13,//Club->梅花♣
D1, D2, ..., D13,//Daimond->方块□
J1, J2//Joker小丑
*/
string str[] = //扑克牌的初始顺序
{"S1", "S2", "S3", "S4", "S5", "S6", "S7", "S8", "S9", "S10", "S11", "S12", "S13","H1", "H2", "H3", "H4", "H5", "H6", "H7", "H8", "H9", "H10", "H11", "H12", "H13","C1", "C2", "C3", "C4", "C5", "C6", "C7", "C8", "C9", "C10", "C11", "C12", "C13","D1", "D2", "D3", "D4", "D5", "D6", "D7", "D8", "D9", "D10", "D11", "D12", "D13","J1", "J2"
};
vector<string>cards(str, str + 54);//初始化
vector<string>cards_tmp(54);//存储每次洗完牌后牌的顺序
int num;//洗牌次数
int order[54];//存放洗牌次序int main()
{cin >> num;for (int i = 0; i < 54; i++)cin >> order[i];for (int i = 0; i < num; i++)//洗牌num次{for (int j = 0; j < 54; j++)//洗好的牌存到cards_tmp中cards_tmp[order[j] - 1] = cards[j];cards = cards_tmp;//洗完一次牌更新一次}for (int i = 0; i < cards.size(); i++)//输出if (i != cards.size() - 1)cout << cards[i] << " ";else//最后一个不能输出空格cout << cards[i] << endl;return 0;
}

1042 Shuffling Machine(简单题,用副本记录每次洗牌结果)相关推荐

  1. 1042. Shuffling Machine (20)

    1042. Shuffling Machine (20) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yue Shu ...

  2. PAT甲级1042 Shuffling Machine:[C++题解]模拟、哈希表、洗牌机

    文章目录 题目分析 题目来源 题目分析 来源:acwing 分析:序列置换. 这里用到函数memcpy()用于数组复制,用法memcpy(dest, src, sizeof dest); 把src数组 ...

  3. 1042 Shuffling Machine (20 point(s)) - C语言 PAT 甲级

    1042 Shuffling Machine (20 point(s)) Shuffling is a procedure used to randomize a deck of playing ca ...

  4. 1042. Shuffling Machine (20)-PAT甲级真题

    Shuffling is a procedure used to randomize a deck of playing cards. Because standard shuffling techn ...

  5. 【题意分析】1042 Shuffling Machine (20 分)

    立志用最少的代码做最高效的表达 PAT甲级最优题解-->传送门 Shuffling is a procedure used to randomize a deck of playing card ...

  6. PAT甲级 1042 Shuffling Machine 模拟洗牌 map的使用

    Solution: 题目要求:要去实现一个模拟洗牌的程序.具体要求如下: (1)初始的排序已经给出. (2)要求洗k次牌,并输出最终排序. (3)给出54个数字,如果第i个位置上的数字为j,就要把第i ...

  7. PAT:1042. Shuffling Machine (20) AC

    #include<stdio.h> #include<stdlib.h> const int N=54; int main() { char mp[5]={'S','H','C ...

  8. HDU 排名(简单题)

    好久没在oj上做题了,刚开始第二天做一道简单题的心得记录. 1 #include <cstdio> 2 #include <cstring> 3 #include <st ...

  9. CSU 1785: 又一道简单题

    1785: 又一道简单题 Submit Page    Summary    Time Limit: 5 Sec     Memory Limit: 128 Mb     Submitted: 602 ...

最新文章

  1. 使用Redis实现在线点赞系统
  2. 复选框全选效果,根据单个复选框的选择情况确定全选复选框是否被选
  3. Java中使用UUID给图片命名的文件上传方法
  4. 判断点是否处于多边形内的三种方法(转)
  5. 30.jvm.gc(GC之详解CMS收集过程和日志分析)
  6. Java当中TreeMap用法
  7. arcgis mxt模板 创建工具条无法保存_【从零开始学GIS】ArcGIS中的绘图基本操作(二)...
  8. bat ping 返回值_专科生可以进bat大厂吗?
  9. vb把窗体嵌入桌面底层_桌面透明便签插件便签软件
  10. [Jobdu] 题目1037:Powerful Calculator
  11. 【verilog】 AB相旋转编码器驱动(fpga,正交编码器,霍尔编码器驱动)
  12. Java并发编程:线程的基本状态
  13. 鹏业安装算量复制工程量
  14. 2021最新MyEclipse安装教程
  15. 2014微软open day 51CTO讲师、博主、版主~
  16. Python OS模块详解(完善版本)
  17. MEM/MBA英语基础(08)复合句-状语从句
  18. 苹果手机白屏_安卓用久了卡顿 苹果用久了闪退 究竟是因为啥?
  19. Android vivo手机无法调试安装Apk的解决办法
  20. (七)集成学习中-投票法Voting

热门文章

  1. 让自己的勤奋真正有用
  2. 产品经理必备软件——Axure使用详解(2)
  3. golang二叉树的递归和非递归方式的前中后序遍历
  4. 布尔(Boolean)表达式
  5. 腾讯营销洞察:中国奢侈品市场数字化趋势洞察报告2021年版
  6. Jetpack 叒一新成员 DragAndDrop 框架:大大简化拖放手势开发
  7. 单细胞转录组学生物标志物和靶点挖掘的新方法
  8. ios解析txt电子书
  9. 攻防世界XCTF-WEB入门12题解题报告
  10. 2022 【阿里】面试真题