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;
}
posted on 2015-02-16 12:06  Evence  阅读(122)  评论(0编辑  收藏  举报