PAT 甲级 1042 Shuffling Machine
简单模拟
#include <bits/stdc++.h>
using namespace std;
int n;int permitation[55],card[55],new_card[55];
void Print(int i){
if(i<=13) printf("S%d",i);
else if(i<=26) printf("H%d",i-13);
else if(i<=39) printf("C%d",i-26);
else if(i<=52) printf("D%d",i-39);
else printf("J%d",i-52);
}
int main(){
cin>>n;
for(int i=1;i<=54;++i){
cin>>permitation[i];
card[i]=i;
}
while(n--){
for(int i=1;i<=54;++i) new_card[permitation[i]]=card[i];
for(int i=1;i<=54;++i) card[i]=new_card[i];
}
for(int i=1;i<=54;++i){
if(i!=1) cout<<" ";
Print(card[i]);
}
}