题解:
#include <cstdio>
int main(){
char map[5] = {'S','H','C','D','J'};
int start[55],end[55],next[55];
int n;
scanf("%d",&n);
for(int i = 1;i < 55; i++){
scanf("%d",&next[i]);
start[i] = i;
}
for(int step = 0;step < n;step++){
for(int i = 1;i < 55;i++)
end[next[i]] = start[i];
for(int i = 1;i < 55;i++)
start[i] = end[i];
}
for(int i = 1;i < 55;i++){
if(i != 1) printf(" ");
start[i]--;
printf("%c%d",map[start[i] / 13],start[i] % 13 + 1);
}
return 0;
}