PAT(A)1042 Shuffling Machine
题目链接:https://pintia.cn/problem-sets/994805342720868352/problems/994805442671132672
思路:简单模拟
代码:
#include<bits/stdc++.h>
using namespace std;
char s[10]={'S','H','C','D','J'};
int be[55],ed[55];
int main (){
int n;
cin>>n;
for(int i=1;i<=54;i++){
cin>>be[i];
}
for(int i=1;i<=54;i++){
int atm=i;
for(int j=1;j<=n;j++){
atm=be[atm];
}
ed[atm]=i;
}
int l,r;
for(int i=1;i<=54;i++){
l=(ed[i]-1)/13;
r=ed[i];
while(r>13)r-=13;
//或者 r=(ed[i]-1)%13+1;
cout<<s[l]<<r;
if(i!=54)cout<<" ";
}
return 0;
}

浙公网安备 33010602011771号