文章目录

  • 题目分析
  • 题目来源

题目分析


来源:acwing

分析:序列置换。

这里用到函数memcpy()用于数组复制,用法memcpy(dest, src, sizeof dest);
把src数组中的内容复制到dest数组中。

来源:cppreference

ac代码

#include<bits/stdc++.h>
using namespace std;
const int N = 55;
int q[N]; //打乱顺序
int p[N]; //最终排列
int w[N];  //临时数组void print(int x){if(x <=13) cout<<"S"<<x;else if(x<=26) cout<<"H"<<x-13;else if(x<=39) cout<<"C"<<x  -26;else if(x<= 52) cout<<"D"<< x - 39;else cout<<"J"<< x  - 52;
}
int main(){int k;cin >> k;//读入给定的打乱顺序for(int i = 1; i <= 54; i++) cin>> q[i];//第i个数放在q[i]这个位置上for(int i =1; i<= 54; i++) p[i] =i;while(k--){memcpy(w,p,sizeof w); // 复制上一轮排放的结果//第i张牌放在q[i]位置上 for(int i =1; i<= 54; i++) p[q[i]] = w[i]; }for(int i =1; i<= 54; i++){print(p[i]);if(i!= 54) cout<<" ";}}

题目来源

PAT甲级1042 Shuffling Machine

https://www.acwing.com/problem/content/1528/

PAT甲级1042 Shuffling Machine:[C++题解]模拟、哈希表、洗牌机相关推荐

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

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

  2. PAT甲级1008 Elevator:[C++题解]模拟

    文章目录 题目分析 题目来源 题目分析 来源:acwing 分析:统计上升次数.下降次数:停留次数就是n.然后算数即可. ac代码 #include<bits/stdc++.h> usin ...

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

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

  4. 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 ...

  5. PAT甲级1042~1055

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

  6. PAT甲级A1042 Shuaffling Machine

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

  7. PAT甲级题目翻译+答案 AcWing(模拟)

    1008 Elevator (20 分) 思路 :last可能等于cur,而无论是否相等,res都是+5的 #include <iostream>using namespace std;i ...

  8. 1042. Shuffling Machine (20)

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

  9. 【题解】【AcWing】1526. 洗牌机

    1526. 洗牌机 原题传送:AcWing 1526. 洗牌机 洗牌就是将一副牌的顺序打乱. 为了防止员工洗牌不够彻底或者员工串通赌徒出老千,许多娱乐场都用自动洗牌机来洗牌. 洗牌机会根据一套随机产生 ...

最新文章

  1. 域用户权限设置目录权限
  2. Kafka 为什么那么快的 6 个原因!
  3. ab st语言编程手册_西门子PLC编程SCL和LAD谁才是王者?一起讨论一下
  4. r语言 分类变量 虚拟变量_R语言中的变量
  5. 王道操作系统考研笔记——2.1.5 线程概念与多线程模型
  6. 【Python】字典dict类型转换为列表list类型
  7. tmux常用命令(分屏工具)
  8. Netty进行文件传输
  9. iOS 下ARC的内存管理机制
  10. 删除顽固node_modules
  11. mybatis当输入参数有多个时的解决方案,Map类型,索引引用输入参数,map输出
  12. 5亿次Web攻击 怎么防住的?
  13. nginx对后台服务健康检查、隐藏版本号及缓存
  14. web开发框架_Web开发的十大框架
  15. matlab屏保弹球,连续时间下的弹球建模
  16. 谈谈Gameplay,以及UE4的Gameplay框架
  17. iOS直角矩形图片绘制
  18. 双十二|Solidigm官方店铺 惊喜大放送 福利享不停
  19. ftp服务器文件复制文件路径,FTP将文件复制到同一FTP的另一个位置
  20. Spring Data Jpa使用QueryDsl接口出现的一些问题

热门文章

  1. iOS启动屏 ➕ 闪屏的方法
  2. MongoDB 2.5 版本将提供新的查询引擎
  3. 12月份最后一期天下足球
  4. mds算法python函数_多维标度法(MDS)的Python实现
  5. 一个假设:如果两个量互为分类对象和分类载体则他们不可对易
  6. 二分类神经网络的特征光谱---2-3至2-9
  7. 【数理知识】第8章-图-《离散数学及其应用》Kenneth H. Rosen
  8. 【Paper】2003_Consensus Problems in Networks of Agents with Switching Topology and Time-Delays
  9. verilog基础--sign表达式
  10. matlab小技巧与verilog小技巧