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;
}

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。