pat 甲级 1042 Shuffling Machine

好想打自己啊
很简单的一道题
想了那么半天都没想出来

最后的输出有点麻烦,可以学习下大佬们的建立数组输出

#include <cstdio>
#include <iostream>

using namespace std;

int k;
int arr[60];
int brr[60];
int crr[60];

int main(){

    scanf("%d",&k);
    for(int i=1; i<=54; i++){
        scanf("%d",&arr[i]);
        brr[i] = i;

    }

    for(int h=0; h<k; h++){
        for(int i=1; i<=54;  i++){          
            crr[i] = brr[i];
        }
        for(int j=1; j<=54; j++){
            brr[arr[j]] = crr[j];
        }
    }
    for(int i=1; i<=54; i++){
        if(brr[i]<=13){
            if(i ==1) printf("S%d",brr[i]);
            else printf(" S%d",brr[i]);
        }
        if(brr[i]>13 && brr[i] <= 26){
            if(i ==1) printf("H%d",brr[i]-13);
            else printf(" H%d",brr[i]-13);
        }
        if(brr[i]>26 && brr[i] <= 39){
            if(i ==1) printf("C%d",brr[i]-26);
            else printf(" C%d",brr[i]-26);
        }
        if(brr[i]>39 && brr[i] <= 52){
            if(i ==1) printf("D%d",brr[i]-39);
            else printf(" D%d",brr[i]-39);
        }
        if(brr[i]>52){
            if(i == 1) printf("J%d",brr[i]-52);
            else printf(" J%d",brr[i]-52);
        }
    }

    //for(int i=1; i<=5; i++) cout << brr[i]<< endl;

    return 0;
}

是我逻辑能力不行吗。。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值