PAT a1042题解

来源:互联网 发布:数控磨床外圆量仪编程 编辑:程序博客网 时间:2024/05/22 05:09
#include <cstdio>const int N = 54;char mp[5] = {'S', 'H', 'C', 'D', 'J'};int start[N + 1], end[N + 1], 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 step = 0; step < K; step++){for(int i = 1; i <= N; i++){end[next[i]] = start[i];}for(int i = 1; i <= N; i++){start[i] = end[i];}}for(int i = 1; i <= N; i++){if(i != 1) printf(" ");start[i]--;printf("%c%d", mp[start[i] / 13], start[i] % 13 + 1);}return 0;}

原创粉丝点击