PAT程序设计考题——甲级1042(洗牌机) C++实现

来源:互联网 发布:电话软件app 编辑:程序博客网 时间:2024/06/01 09:31
TO PAT
#include<iostream>
#include<algorithm>
#include<map>
#include<string>
#include<vector>
const int maxn=10010;
const int maxc=210;
using namespace std;
int main()
{int  times;
cin>>times;
int start[55],next[55],end[55];
for(int i=1;i<=54;i++)
start[i]=i;
for(int i=1;i<=54;i++)
cin>>next[i];
for(int i=0;i<times;i++)
{
 for(int k=1;k<=54;k++)
 {
  end[next[k]]=start[k]; }
  
  for(int j=1;j<=54;j++)
  start[j]=end[j];
}
map<int,string> mp;
mp[0]='S';
mp[1]='H';
mp[2]='C';
mp[3]='D';
mp[4]='J';
for(int i=1;i<=54;i++)
{end[i]--; //关键步骤
 int m=(end[i])/13;
 int n=(end[i])%13+1;
 cout<<mp[m]<<n;
 if(i!=54) cout<<" ";
}
return 0;
 }
阅读全文
0 0