【1042】Shuffling Machine (20 分)

简介: 【1042】Shuffling Machine (20 分)【1042】Shuffling Machine (20 分)
#include<iostream>
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
#include<string.h>
#include<algorithm>  
#include<map>
#include<vector>
#include<queue> 
using namespace std;
//start[]和end[]分别存放执行操作前和后的牌序,循环K次
//每次循环后用end[]覆盖start[]给下一次操作使用,start[]存放最终牌序
const int N=54;
char mp[5]={'S','H','C','D','J'}; //牌的编号与花色的对应关系
//int start[N],end[N];
//int next[N]; //next数组存放每个位置上的牌在操作后的位置
int Start[N], End[N], Next[N];
int main(){   
  int K;
  scanf("%d",&K); //洗K次牌
  for(int i=1;i<=N;i++){
    Start[i]=i;  //初始化牌的编号
  }
  for(int i=1;i<=N;i++){
    scanf( "%d", &Next[i] ); //输出每个位置的牌在操作后的位置
  }
  for(int step=0;step <K;step++){ //执行K次操作
    for(int i=1;i<=N;i++){
      End[ Next[i] ] = Start[i]; //把第i个位置的牌的编号存于位置next[i]
    }
    for(int i=1;i<=N;i++){
      Start[i]=End[i]; //把end数组赋值给start数组以供下次操作使用
    }
  }
  for(int i=1;i<=N;i++){
    if(i != 1) printf(" "); //控制输出格式
    Start[i]--;
    printf("%c%d",mp[Start[i]/13] , Start[i]%13+1); //输出结果
  }
  system("pause"); 
    return 0;   
}
相关文章
|
4月前
1003 Emergency (25 分)
1003 Emergency (25 分)
|
移动开发 C语言
PAT (Advanced Level) Practice 1042 Shuffling Machine (20 分)
PAT (Advanced Level) Practice 1042 Shuffling Machine (20 分)
93 0
|
C语言
PAT (Basic Level) Practice (中文) B1026 程序运行时间 (15 分)
PAT (Basic Level) Practice (中文) B1026 程序运行时间 (15 分)
117 0
|
存储 测试技术
PAT (Basic Level) Practice (中文) 1004 成绩排名 (20 分)
PAT (Basic Level) Practice (中文) 1004 成绩排名 (20 分)
86 0
|
编译器
PAT (Basic Level) Practice (中文)- 1077 互评成绩计算(20 分)
PAT (Basic Level) Practice (中文)- 1077 互评成绩计算(20 分)
104 0
PAT (Advanced Level) Practice - 1016 Phone Bills(25 分)
PAT (Advanced Level) Practice - 1016 Phone Bills(25 分)
111 0
PAT (Advanced Level) Practice - 1072 Gas Station(30 分)
PAT (Advanced Level) Practice - 1072 Gas Station(30 分)
125 0
PAT (Basic Level) Practice (中文)- 1073 多选题常见计分法(20 分)
PAT (Basic Level) Practice (中文)- 1073 多选题常见计分法(20 分)
128 0
|
索引
PAT (Advanced Level) Practice - 1056 Mice and Rice(25 分)
PAT (Advanced Level) Practice - 1056 Mice and Rice(25 分)
114 0