A1042

news/2024/11/24 5:28:18/

Shuffling Machine (20分)

单词:

  • shuffling:洗牌          position:位置
  • the number at the i-th position is j, it means to move the card from position i to position j:
  • 第i个位置上是j,表示移动第i个位置上的数字→第j个位置。(即order[ i ] = j, 那么end[ j ]=start[ i ])。

总结:

  1. 利用char数组控制输出,char mp[5] = {'S', 'H', 'C', 'D', 'J'};或者char mp[6] = {"SHCDJ" };(字符串存储末尾'\0'),其中mp[0]='S',mp[1]='H'以此类推。
  2. startend数组保存每次变换的开始顺序和结束顺序(以1~54的编号存储)。
  3. 每次变换令start[j]=end[i]end数组在第一次变换之前需要进行初始化
  4. 一次结束后需要对end数组进行更新(令end[ i ] = start[ i ]),便于下一次洗牌。
  5. 输出思考1→S1,2→S2,......13→S1314→D1,......
  • 字母部分:不能简单认为是mp[ end[i]/13 ],要先让end[i]-1/13。(错误:13/13=1,显示H)
  • 数字部分:取余数也不能直接%13,要先-1%13最后+1。(错误:13%13=0,显示0)。

代码:

#include <cstdio> int main(){int start[55],end[55], order[55];char mp[5] = {'S', 'H', 'C', 'D', 'J'}; //0:'S', 1:'H', 2:'C', 3:'D' 4:'J'//或者char mp[6] = {"SHCDJ" }; int cnt;scanf("%d", &cnt);for(int i=1; i<55; i++){scanf("%d", &order[i]);end[i] = i;	//初始化 } while(cnt--){for(int i=1; i<55; i++){start[ order[i] ] = end[i];	}for(int i=1; i<55; i++){end[i] = start[i];	}	}for(int i=1; i<55; i++){if( i!=1 ) printf(" ");end[i]--; //包括下一行 方便处理输出printf("%c%d", mp[ end[i]/13 ], end[i]%13+1 );	}return 0;
}

 


http://www.ppmy.cn/news/323917.html

相关文章

mac屏蔽独显(我的小本本自救系列)

原文网址&#xff1a; http://www.asyncro.com/2014/03/2 ... -issue-fix-updated/本人只负责搬运以及翻译。整个步骤有效性自己验证。下述论坛用户反映&#xff0c;按照这个方法的确有效&#xff0c;http://apple.stackexchange.com/q ... -graphics-macbook-p 简单翻译下&…

【Docker】docker部署前Springboot-vue后端分离项目【实战篇】

文章目录 1、docker 安装jdk2、docker 安装mysql通过Docker命令进入Mysql容器内部初始化数据sqlDbx连接查看 3、docker build构建后端镜像修改配置数据库JDBC链接IP为虚拟机服务器IPmaven clean package打包后端jar并上传到服务器编写Dockfilebuild 构建查看构建的后端镜像app …

5.DIY可视化-拖拽设计1天搞定主流小程序-公告管理

1.DIY可视化-拖拽设计1天搞定主流小程序-公告管理 公告管理-本教程均在第一节中项目启动下操作 1.DIY可视化-拖拽设计1天搞定主流小程序-公告管理2.创建数据表执行: php think diygw:tableandapi oneHdp 3. 复制幻灯片界面进行编辑4.修改后台API5.富文本添加6.验证 :访问url : …

UnityVR--组件6--Animation动画

目录 新建动画Animation Animation组件解释 应用举例1&#xff1a;制作动画片段 应用举例2&#xff1a;添加动画事件 Animator动画控制器 应用举例3&#xff1a;在Animator中设置动画片段间的跳转 本篇使用的API&#xff1a;Animation、Animator以及Animator类中的SetFlo…

Flutter调用Rust代码操作指南

在之前的利用Rust与Flutter开发一款小工具文章中&#xff0c;我们使用Rust代码实现了一个简单的WebSocket发送功能。也在Rust库交叉编译以及在Android与iOS使用这篇中介绍了Rust库的打包以及双端的使用。 今天我们继续用之前WebSocket的代码举例&#xff0c;来介绍如何在Flutt…

荣耀游戏本散热实测分享 这是你的理想散热本

双11预期而至&#xff0c;今天是荣耀游戏本新一轮优惠预售的最后一天&#xff0c;考虑到很多小伙伴如今仍然不知道要入手什么游戏本&#xff0c;为此笔者特意进行了一次荣耀游戏本散热实测分享给大家&#xff0c;让大家可以更好地了解这款游戏本的散热优势&#xff0c;抓住优惠…

更薄的游戏本会吸引你吗? — 荣耀猎人评测

荣耀猎人昨天开卖的成绩不错&#xff0c;我们也终于完成了详细评测&#xff0c;下一波的抢购会在 10.2 日开启&#xff0c;其实在这个买什么都缺货的年代&#xff0c;只要有货就是赢了&#xff0c;它对得起现在的价格&#xff0c;希望大家都能买到自己想要的产品。 设计与体验 …

小米Redmi G游戏本怎么样

Redmi G游戏本正式发布了&#xff0c;作为redmi 的首款游戏本&#xff0c;redmi G采用了全新的设计&#xff0c;不同于之前redmi发布的轻薄本。这次游戏本更加具有个性&#xff0c;极具科幻的正脸&#xff0c;搭配游戏专属键盘&#xff0c;配合微米级3D精雕纹理工艺&#xff0c…