Solution:

  • 题目要求:要去实现一个模拟洗牌的程序。具体要求如下:
    (1)初始的排序已经给出。
    (2)要求洗k次牌,并输出最终排序。
    (3)给出54个数字,如果第i个位置上的数字为j,就要把第i个位置上的牌移到第j个位置上。并在一次洗牌后更新这组数字。
  • 使用map记录每个位置上的牌。

代码如下:

//模拟洗牌
#include<iostream>
#include<string>
#include<algorithm>
#include<math.h>
#include<map>
using namespace std;map<int,string> m2;
int k;//洗k次牌int main(){m2[1]="S1",m2[2]="S2",m2[3]="S3",m2[4]="S4",m2[5]="S5",m2[6]="S6",m2[7]="S7",m2[8]="S8",m2[9]="S9",m2[10]="S10",m2[11]="S11",m2[12]="S12",m2[13]="S13";m2[14]="H1",m2[15]="H2",m2[16]="H3",m2[17]="H4",m2[18]="H5",m2[19]="H6",m2[20]="H7",m2[21]="H8",m2[22]="H9",m2[23]="H10",m2[24]="H11",m2[25]="H12",m2[26]="H13";m2[27]="C1",m2[28]="C2",m2[29]="C3",m2[30]="C4",m2[31]="C5",m2[32]="C6",m2[33]="C7",m2[34]="C8",m2[35]="C9",m2[36]="C10",m2[37]="C11",m2[38]="C12",m2[39]="C13";m2[40]="D1",m2[41]="D2",m2[42]="D3",m2[43]="D4",m2[44]="D5",m2[45]="D6",m2[46]="D7",m2[47]="D8",m2[48]="D9",m2[49]="D10",m2[50]="D11",m2[51]="D12",m2[52]="D13";m2[53]="J1",m2[54]="J2";cin>>k;int pos[55];string ok[55];for(int i=1;i<=54;i++){cin>>pos[i];}for(int j=0;j<k;j++){for(int i=1;i<=54;i++){int temp=pos[i];string s=m2[i];ok[temp]=s;}for(int i=1;i<=54;i++){m2[i]=ok[i];}}for(int i=1;i<=54;i++){if(i!=54){cout<<ok[i]<<" ";}else{cout<<ok[i];}}return 0;
}

PAT甲级 1042 Shuffling Machine 模拟洗牌 map的使用相关推荐

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

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

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

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

  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. PAT甲级1042~1055

    前言:距离四级考试剩23天,PAT甲级考试剩24天 对PAT甲级练习题做总结 1042 Shuffling Machine (20 分) 题目大意: 重复给出排列方式,把放在下标 i i i的牌调换到 ...

  5. PAT甲级A1042 Shuaffling Machine

    PAT甲级A1042 Shuaffling Machine 题目: Shuffling is a procedure used to randomize a deck of playing cards ...

  6. 1042. Shuffling Machine (20)

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

  7. 1042 Shuffling Machine(简单题,用副本记录每次洗牌结果)

    目录 题目 测试样例 输入样例 输出样例 提交结果截图 带详细注释的源代码 题目 题目链接: 1042 Shuffling Machinehttps://pintia.cn/problem-sets/ ...

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

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

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

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

最新文章

  1. codeforces425C
  2. Android 控件布局常用属性
  3. c++二进制文件java读取int_吃透Java基础十二:IO
  4. java字节流转字符串_字节流与字符流的区别及相互转换
  5. 前端制作动画的几种方式(css3,js)
  6. matlab exprnd函数,Matlab 用 exprnd 函数生成符合指数分布的随机数
  7. php mysql修改表单数据_表单修改数据
  8. 正则表达式 - 中文、英文姓名匹配
  9. 微软私有云部署及讲解专题
  10. Android 获取经纬度处理
  11. java pdf 盖章
  12. Android神兵利器之Image Asset Studio
  13. 京东自建数据中心核心技术解密——基础设施篇
  14. import ... from和import {} from 的区别
  15. Kotlin学习篇(2)—— Kotlin的函数
  16. 1年工作经验跳槽项目总监,看到他的数据可视化报表,我沉默了
  17. 视频会议业务接力增长,“云+端”战略布局未来
  18. Untiy3d-unity游戏性能优化-详细介绍
  19. 计算机组成原理期末考试知识点练习题(补发)
  20. 哔哩哔哩小助手(GUI)

热门文章

  1. 搜索引擎蜘蛛 ajax,了解搜索引擎蜘蛛习性 助力内页顺畅收录
  2. 【IOS每日限免】1月17号最新IOS每日限免信息来啦!
  3. htb_Escape (mssql渗透,winrm)
  4. 可达性分析算法与理解误区
  5. 关于for循环中三个语句的执行顺序
  6. 【微信小程序】shiro安全登录界面实现
  7. C语言编程学习:使用函数必须知道的3点注意事项
  8. 目前最好用的云电脑排行有哪些?免费阿里云无影云电脑
  9. 如何制作个人的纯手写电子签名
  10. Test on 12/01/2018