洗牌,共洗k次,每次将将原先的牌洗进输入好的位置。

步骤:

1 设置次数k,输入位置数列next[55],填充初始牌序start[55];

2 end[next[i]]=start[i]把新的牌序赋值给end数组,并将end数组重新赋值给start数组,共重复k次;

3 由于设置的花色数组mp[5]的序号是0-4,即用1-54/13后,结果对应相应的mp元素。因为n*13/13==1,需要将数组值全部-1,得到正确的mp序号。

在数组值全部-1后,start[i]%13的结果为0-12,需要start[i]%13+1来得到正确的结果1-13

注:由于1-13%13的结果是1,2,3…12,0,必须将数组的整体值-1后取余得到0,1,2…12后再+1才能得到正确结果。否则13的倍数牌将显示为0.

 #include<stdio.h>
int main(){
char mp[]={'S','H','C','D','J'};
int start[],end[],next[];
int k;
scanf("%d",&k);
for(int i=;i<=;i++){
scanf("%d",&next[i]);
start[i]=i;
}
for(int j=;j<k;j++){
for(int i=;i<=;i++){
end[next[i]]=start[i];
}
for(int i=;i<=;i++){
start[i]=end[i];
}
}
for(int i=;i<=;i++){
start[i]--;
printf("%c%d",mp[start[i]/],start[i]%+);
if(i!=) printf(" ");
}
return ;
}

A1042的更多相关文章

  1. A1042. Shuffling Machine

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

  2. A1042 Shuffling Machine (20)

    1042 Shuffling Machine (20)(20 分) Shuffling is a procedure used to randomize a deck of playing cards ...

  3. PAT A1042 Shuffling Machine

    自己思路,没通过 #include <cstdio> #define N 54 int main() { #ifdef ONLINE_JUDGE #else freopen("1 ...

  4. PAT甲级——A1042 Shuffling Machine

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

  5. PAT/简单模拟习题集(二)

    B1018. 锤子剪刀布 (20) Discription: 大家应该都会玩"锤子剪刀布"的游戏:两人同时给出手势,胜负规则如图所示: 现给出两人的交锋记录,请统计双方的胜.平.负 ...

  6. javascript: detect mobile devices or browser

    http://detectmobilebrowsers.com/ http://hgoebl.github.io/mobile-detect.js/ http://www.hand-interacti ...

  7. 1042 Shuffling Machine (20 分)

    1042 Shuffling Machine (20 分) Shuffling is a procedure used to randomize a deck of playing cards. Be ...

  8. A1009 Product of Polynomials (25)(25 分)

    A1009 Product of Polynomials (25)(25 分) This time, you are supposed to find A*B where A and B are tw ...

  9. PAT题目AC汇总(待补全)

    题目AC汇总 甲级AC PAT A1001 A+B Format (20 分) PAT A1002 A+B for Polynomials(25) PAT A1005 Spell It Right ( ...

随机推荐

  1. 正则表达式——Unicode 匹配规则

      一般来说,数字字符解释[0-9],单词字符就是[0-9a-zA-Z_],空白字符则包括空格.回车等字符,但这是 ASCII 编码中的情况,在 Unicode 编码中并非如此.   因为包括了多种语 ...

  2. Babel编译:类继承

    编译前 // 父类 class Fruit { static nutrition = "vitamin" static plant() { console.log('种果树'); ...

  3. is_selected()检查是否选中该元素

    is_selected()检查是否选中该元素,一般针对单选框,复选框,返回的结果是bool 值, 以百度登录页面为案例,来验证"下次自动登录"是否勾选,默认是勾选的,返回的结 果应 ...

  4. 【ABAP系列】SAP ABAP 关于四舍五入算法

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP ABAP 关于四舍五入算 ...

  5. unity监听粒子播放结束

    需要在粒子上挂脚本 脚本添加代码 public void OnParticleSystemStopped() { Debug.Log("粒子停止"); } 这是个生命周期 粒子的 ...

  6. 【Qt开发】解决Qt程序在Linux下无法输入中文的办法

    解决Qt程序在Linux下无法输入中文的办法 一位网友问我如何在Linux的Qt的应用程序中输入中文,我一开始觉得不是什么问题,但是后面自己尝试了一下还真不行.不仅是Qt制作的应用程序,就连Qt Cr ...

  7. Maximum Depth of Binary Tree(二叉树最大深度)

    来源:https://leetcode.com/problems/maximum-depth-of-binary-tree Given a binary tree, find its maximum ...

  8. 指定pom文件jdk版本

    <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> ...

  9. package.json的所有配置项及其用法,你都熟悉么

    写在前面 在前端开发中,npm已经是必不可少的工具了.使用npm,不可避免的就要和package.json打交道.平时package.json用得挺多,但是没有认真看过官方文档.本文结合npm官方文档 ...

  10. MySQL数据类型和约束条件

    一.数据库操作数据的存储引擎 INNODB:支持事务 行锁 外键 查询速度比MYSiam慢 但是保证了数据的安全性 5.1 版本之后 MYSIAM:老版本用 5.1版本之前 搜索速度快 不支持事务 没 ...