#include <stdio.h>
#define N 54
int main(int argc, char* argv[]) {
int k;
scanf("%d", &k);
int i, j;
int a[N + 1] = {0};
int b[N + 1] = {0};
for (i = 1; i <= N; i++) {
scanf("%d", &a[i]);
b[i] = i;
}
int flag[N + 1] = {0};
for (j = 0; j < k; j++) {
for (int s = 1; s <= N; s++) {
flag[s] = 0;
}
for (i = 1; i <= N; i++) {
if (flag[i] == 0) {
int t = i;
int tmp = b[t];
int tmp2;
do {
flag[a[t]] = 1;
tmp2 = b[a[t]];
b[a[t]] = tmp;
tmp = tmp2;
t = a[t];
} while (t != i);
b[a[t]] = tmp;
flag[a[t]] = 1;
}
}
}
for (i = 1; i <= N; i++) {
if ((b[i] - 1) / 13 == 0) {
printf("S%d", b[i]);
} else if ((b[i] - 1) / 13 == 1) {
printf("H%d", (b[i] - 1) % 13 + 1);
} else if ((b[i] - 1) / 13 == 2) {
printf("C%d", (b[i] - 1) % 13 + 1);
} else if ((b[i] - 1) / 13 == 3) {
printf("D%d", (b[i] - 1) % 13 + 1);
} else if ((b[i] - 1) / 13 == 4) {
printf("J%d", (b[i] - 1) % 13 + 1);
}
if (i < N) printf(" ");
else printf("\n");
}
return 0;
}
【PAT甲级】1042. Shuffling Machine (20)
最新推荐文章于 2019-08-03 19:23:36 发布