自测-5 Shuffling Machine(python版本)

文章预览:

  • 题目
  • 翻译
  • 算法
  • python代码
  • oj反馈结果

题目

在这里插入图片描述

翻译

shuffle是用于随机化一副扑克牌的过程。由于标准的洗牌技术被认为是薄弱的,并且为了避免员工通过不适当的洗牌与赌徒合作的“内部工作”,许多赌场使用了自动洗牌机。你的任务是模拟一台洗牌机。

机器根据给定的随机顺序洗一副54张牌,并重复给定的次数。假设一副牌的初始状态顺序如下:

S1, s2,…向,
H1, h2,…H13,
C1, c2,…、C13、
D1, d2,…D13,
j - 1, J2
其中“S”代表“黑桃”,“H”代表“红心”,“C”代表“梅花”,“D”代表“方块”,“J”代表“小丑”。给定的顺序是[1,54]中不同整数的排列。如果第i个位置的数字是j,这意味着将牌从位置i移动到位置j。例如,假设我们只有5张牌:S3, H5, C1, D13和J2。给定一个洗牌顺序{4,2,5,3,1},结果将是:J2, H5, D13, S3, C1。如果我们再次重复洗牌,结果将是:C1, H5, S3, J2, D13。

输入规格:
每个输入文件包含一个测试用例。对于每种情况,第一行包含一个正整数K(≤20),即重复次数。然后下一行包含给定的顺序。一行中的所有数字用一个空格隔开。

输出规范:
对于每个测试用例,在一行中打印变换结果。所有的牌都用一个空格隔开,并且行尾不能有额外的空格。

算法

解题思路很简单,利用里一个列表将当前需要移动的元素直接存入,最后将列表返回,重复这个操作就可以了

python代码

def shuttle(a,pos):
    b=len(a)*[None]
    for i in range(1,55):
        b[pos[i]]=a[i]
    return b

def setf(a,fuhao):
    for i in range(1,14):
        a.append(fuhao+str(i))
def start(a):
    setf(a,'S')
    setf(a,'H')
    setf(a,'C')
    setf(a,'D')
    a.append('J1')
    a.append('J2')
def shuru():
    b=input().split()
    b.insert(0,'0')
    for i in range(len(b)):
        b[i]=int(b[i])
    return b;
    
a=[0]
start(a)
repeat=int(input())
b=shuru()
for i in range(repeat):
    a=shuttle(a,b)
a.pop(0)
print(' '.join(a))

oj反馈结果

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/429042.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

GIN与Echo:选择正确Go框架的指南

您是否在Go中构建Web应用?选择正确的框架至关重要!GIN和Echo是两个热门选择,每个都有其优势和特点。本指南将详细介绍每个框架的特性、速度、社区热度以及它们各自擅长的项目类型。最后,您将能够为您的下一个Web项目选择完美的框架…

CodeFlying 和 aixcoder两大免费软开平台,孰强孰弱?

今天为大家带来码上飞CodeFlying和aixcoder两款免费的软件开发平台效果的测评 一、产品介绍 首先简单介绍一下这两个平台 码上飞CodeFlying:码上飞 CodeFlying | AI 智能软件开发平台! 是一款革命性的软件开发平台,它通过将软件工程和大模…

【LangChain学习之旅】—(11) 记忆:通过Memory记住用户上次的对话细节

【LangChain学习之旅】—(11) 记忆:通过Memory记住客户上次买花时的对话细节 使用 ConversationChain使用 ConversationBufferMemory使用 ConversationBufferWindowMemory使用 ConversationSummaryMemory使用 ConversationSummaryBufferMemor…

一文讲明白Java中线程与进程、并发与与并行、同步与异步

写在开头 ok,everybody,在过去的两周内,我们大体上讲完了Java的集合,在最后我们探讨了关于HashMap线程不安全的原因,又提出了ConcurrentHashMap这个线程安全的集合解决方案,那么在接下来的2-3周内&#xf…

苹果电脑清理qq的缓存 苹果电脑删除qq聊天记录 qq垃圾怎么清理最干净 卸载器 CleanMyMac x值不值得买 电脑缓存怎么清理干净

苹果电脑是很多人的首选,它的性能优异,设计精美,操作简洁。但是,如果你经常使用qq这款软件,你可能会发现你的苹果电脑越来越卡顿,存储空间越来越少,甚至出现一些奇怪的问题。这是因为qq会产生大…

webstorm 创建运行纯Typescript项目

创建一个空项目,在项目根目录创建一个tsconfig.json文件自动配置: 打开终端输入tsc --init,即可自动生成tsconfig.json文件手动配置: 在项目根目录下新建一个tsconfig.json文件,并配置如下内容 具体配置可以直接使用下面的配置&am…

MyBatisPlus入门教程

MyBatisPlus MyBatis-Plus (opens new window)(简称 MP)是一个 MyBatis (opens new window) 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。 官网地址:https://baomidou.com/ 一、入门案…

【C++】类与对象(static、explicit、友元、隐式类型转换、内部类、匿名对象)

🌈个人主页:秦jh__https://blog.csdn.net/qinjh_?spm1010.2135.3001.5343🔥 系列专栏:http://t.csdnimg.cn/eCa5z 目录 再谈构造函数 初始化列表 隐式类型转换 explicit关键字 static成员 概念 计算程序中创建出了多少个类…

Vscode连接外部虚拟环境

如果vscode工程目录里面有一个超级大的虚拟环境文件夹,怎么说都不是一件优雅的事,因此我们希望这个虚拟环境在工程目录外部,我们开始: 1. 复制虚拟环境目录路径:E:\envs\test 2. 在vscode中打开文件夹,CT…

扩散模型入门

主要参考资料 B站视频《Sora 夜谈之 Video Diffusion 综述》 目录 图像Diffusion模型发展脉络视频Diffusion模型发展脉络视频模型评价标准 图像Diffusion模型发展脉络 相较于直接在图像层Pixel space加噪和降噪,Latent Diffusion则通过编码增加了一层Latent层&…

蓝牙耳机UI设计方法之表格法

是否需要申请加入数字音频系统研究开发交流答疑群(课题组)?可加他微信hezkz17, 本群提供音频技术答疑服务,+群赠送蓝牙音频,DSP音频项目核心开发资料, 1 表格设计方法 2 附录内容 序号需求原生音频文件english EN

基于springboot+vue的图书电子商务网站

博主主页:猫头鹰源码 博主简介:Java领域优质创作者、CSDN博客专家、阿里云专家博主、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战,欢迎高校老师\讲师\同行交流合作 ​主要内容:毕业设计(Javaweb项目|小程序|Pyt…

Qt+FFmpeg+opengl从零制作视频播放器-2.环境搭建

1.环境介绍 Qt5.9.0VS2017ffmpeg4.4.3,这里版本均使用64位版本。 Qt的版本大于我这个版本都行。 opengl3.3,Qt已经封装好了QOpenGLWidget,直接使用Qt的就行。 Qt版本下载:Index of /archive/qt 2.ffmpeg下载 Releases BtbN…

鸿蒙即将抛弃Android,你还不来学习一下?

前言 最近移动开发圈子里,鸿蒙可谓出尽了风头,先是宣布即将正式发布的 Harmony OS Next 将完全剥离 Android 代码,也就是不再兼容 Android,化身为纯血的鸿蒙,紧接着又启动了鸿蒙生态千帆启航,伴随着的是众…

【论文阅读】(2006)Dual-Optimal Inequalities for Stabilized Column Generation

文章目录 摘要一、介绍二、对偶最优不等式(Dual-Optimal Inequalities)三、确定P的最优原始解四、二元切割下料问题4.1 约束聚合4.2 相等约束4.3 计算结果 五、切割下料问题5.1 计算结果 六、三元组的深度对偶最优不等式(Deep Dual-Optimal I…

『Linux从入门到精通』第 ㉕ 期 - System V 共享内存

文章目录 💐专栏导读💐文章导读🐧共享内存原理🐧共享内存相关函数🐦key 与 shmid 区别 🐧代码实例 💐专栏导读 🌸作者简介:花想云 ,在读本科生一枚&#xff0…

9.WEB渗透测试-Linux基础知识-Linux用户权限管理(上)

免责声明:内容仅供学习参考,请合法利用知识,禁止进行违法犯罪活动! 内容参考于: 易锦网校会员专享课 上一个内容:8.WEB渗透测试-Linux基础知识-Linux基础操作(二)-CSDN博客 用户管…

详细分析Linux内存知识并释放内存

目录 前言1. 基本知识1.1 free1.2 cat /proc/meminfo1.3 slabtop 2. 清空内存 前言 本篇文章主要分析内存 如果是磁盘空间,推荐阅读:服务器出现根目录磁盘满了解决方法 1. 基本知识 在Linux系统中,查看内存的基本知识包括以下几个方面&…

Nginx配置php起WoWSimpleRegistration服务

WoWSimpleRegistration服务的git地址: GitHub - TrinityCore/WoWSimpleRegistration: Simple Registration page for TrinityCore/AzerothCore/AshamaneCore/CMangos 下载WoWSimpleRegistration 首先git下载: git clone https://github.com/TrinityC…

嵌入式基础知识-信号量,PV原语与前趋图

本篇来介绍信号量与PV原语的一些知识,并介绍其在前趋图上的应用分析。本篇的知识属于操作系统部分的通用知识,在嵌入式软件开发中,同样会用到这些知识。 1 信号量 信号量是最早出现的用来解决进程同步与互斥问题的机制(可以把信…