前言:
21考研,正在啃《算法笔记》,不论能否进复试记录一下准备路上写下的垃圾代码。
解答:
#include<cstdio>
const char mp[5] = {
'S','H','C','D','J' };
int main()
{
int k,start[54],end[54],que[54];
scanf("%d",&k);
for (int i = 0; i < 54; i++) {
scanf("%d", &que[i]);
start[i] = i;
}
while (k--) {
for (int i = 0; i < 54; i++)
end[que[i]-1] = start[i];
for (int i = 0; i < 54; i++)
start[i] = end[i];
}
for(int i=0;i<54;i++)
if (i != 53)
{
printf("%c", mp[start[i] / 13]);
printf("%d ", start[i] % 13 + 1);
}
else {
printf("%c", mp[start[i] / 13]);
printf("%d", start[i] % 13 + 1);
}
return 0;
}