PAT 1042. 洗牌机
原题链接
简单
作者:
YAX_AC
,
2024-11-25 21:34:37
,
所有人可见
,
阅读 2
//automatic shuffling machines自动洗牌机 shuffling洗
//简述题意,就是输入数字,就将其在卡片中对应的位置输出,还有洗牌,循环几次做几次操作
#include<iostream>
#include <cstring>
using namespace std;
const int N = 60;
int k;
int q[N],p[N],w[N];
void print(int x)//输出对应数字的字符串
{
if(x<=13) cout<<'S'<<x;
else if(x<=26) cout<<'H'<<x-13;
else if(x<=39) cout<<'C'<<x-26;
else if(x<=52) cout<<'D'<<x-39;
else cout<<'J'<<x-52;
}
int main()
{
cin>>k;
for(int i = 1; i<=54; i++) cin>>q[i];
for(int i = 1; i<=54; i++) p[i] = i;
while(k--)
{
memcpy(w,p,sizeof w);
for(int i = 1; i<=54; i++) p[q[i]] = w[i];
}
for(int i = 1; i<=54; i++)
{
print(p[i]);
if(i!=54) cout<<' ';
}
return 0;
}