#include <stdio.h>
#include <string.h>
#include <stdlib.h>
const int N = 54;///54张牌。
char color[5] = {'S','H','C','D','J'};///5种颜色的牌。
int start[N+1];///起始位置的编号
int end[N+1];///可以看作是中间数组
int next[N+1];///操作后的位置
int main()
{
int k;
scanf("%d",&k);
for(int i=1;i<=N;i++)
start[i] = i;///初始化。
for(int i=1;i<=N;i++)
scanf("%d",&next[i]);///输入处理后的位置。
for(int j=1;j<=k;j++)
{
for(int i=1;i<=N;i++)
end[next[i]] = start[i];///第next[i]个数来自于start[i];
for(int i=1;i<=N;i++)
start[i] = end[i];///为后续的工作做准备。
}
for(int i=1;i<=N;i++)
{
start[i]--;///注意一下。
printf(i==N?"%c%d\n":"%c%d ",color[start[i]/13],start[i]%13+1);
}
return 0;
}
1042 Shuffling Machine(补充代码+洗牌模拟(下标转化))
最新推荐文章于 2022-09-21 18:48:43 发布