一二三四五 上山打老虎

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;
}
posted @ 2021-03-04 17:24  黒川川  阅读(45)  评论(0)    收藏  举报