PAT:1042. Shuffling Machine (20) AC
#include<stdio.h>
#include<stdlib.h>
const int N=54;
int main()
{
char mp[5]={‘S‘,‘H‘,‘C‘,‘D‘,‘J‘};
int n;
scanf("%d",&n);
int start[N],end[N],next[N];
for(int i=1 ; i<=N ; ++i) //初始化
start[i]=i;
for(int i=1 ; i<=N ; ++i) //记录改变方式
scanf("%d",&next[i]);
for(int t=0 ; t<n ; ++t) //改变n次
{
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)
{
--start[i]; //【warning】不然无法输出13
if(i==1)
printf("%c%d",mp[start[i]/13],start[i]%13+1); //13无法输出
else
printf(" %c%d",mp[start[i]/13],start[i]%13+1);
}
printf("\n");
system("pause");
return 0;
}
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。