PAT甲级1042 Shuffling Machine (20 分)

Posted ldudxy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PAT甲级1042 Shuffling Machine (20 分)相关的知识,希望对你有一定的参考价值。

题意:

输入洗牌次数K(<=20),输入54张牌每次洗入的位置(不是交换的位置),输出洗好的牌。

代码:

#define HAVE_STRUCT_TIMESPEC
#include<bits/stdc++.h>
using namespace std;
multiset<int>st;
int a[57];
int card[57],b[57];
int main()
ios::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
for(int i=1;i<=54;++i)
card[i]=i;
int k;
cin>>k;
for(int i=1;i<=54;++i)
cin>>a[i];
for(int i=1;i<=k;++i)
if(i&1)
for(int j=1;j<=54;++j)
b[a[j]]=card[j];
else
for(int j=1;j<=54;++j)
card[a[j]]=b[j];

int x=0;
for(int i=1;i<=54;++i)
if(k&1)
x=b[i];
else
x=card[i];
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;
if(i<54)
cout<<" ";

return 0;

以上是关于PAT甲级1042 Shuffling Machine (20 分)的主要内容,如果未能解决你的问题,请参考以下文章

PAT 1042. Shuffling Machine

PAT1042:Shuffling Machine

pat 1042 Shuffling Machine(20 分)

PAT-1042. Shuffling Machine (20)

PAT(A) 1042. Shuffling Machine (20)

PAT (Advanced Level) 1042. Shuffling Machine (20)