AcWing 1526. 洗牌机
原题链接
简单
作者:
og_
,
2020-05-24 23:29:16
,
所有人可见
,
阅读 431
C++ 代码
#include<bits/stdc++.h>
using namespace std;
const int N = 54;
int start[N],ne[N],re[N];
char c[5]={'S','H','C','D','J'};
int main(){
int n;
cin>>n;
for(int i=1;i<=N;i++) start[i] = i-1;
for(int i = 1; i<=N; i++ ) cin>>re[i];
while(n--){
for(int i = 1;i<=N;i++) ne[re[i]] = start[i];
//更新start
for(int i = 1; i<=N;i++) start[i]=ne[i];
}
for(int i = 1;i<=N;i++){
if(i!=1) cout<<" ";
cout<<c[(start[i])/13]<<(start[i])%13+1;
}
return 0;
}