1042 Shuffling Machine (20 point

2019-01-19  本文已影响0人  zilla

1042 Shuffling Machine

#include <stdio.h>

#define N 55
const char face_value[55][4] = {"",
                                "S1", "S2", "S3", "S4", "S5", "S6", "S7", "S8", "S9", "S10", "S11", "S12", "S13",
                                "H1", "H2", "H3", "H4", "H5", "H6", "H7", "H8", "H9", "H10", "H11", "H12", "H13",
                                "C1", "C2", "C3", "C4", "C5", "C6", "C7", "C8", "C9", "C10", "C11", "C12", "C13",
                                "D1", "D2", "D3", "D4", "D5", "D6", "D7", "D8", "D9", "D10", "D11", "D12", "D13",
                                "J1", "J2"};

int main() {
    int seq[N], cards0[N], cards1[N], K;

    scanf("%d", &K);
    for (int i = 1; i < N; i++) {
        scanf("%d", &seq[i]);
        cards0[i] = i;
    }
    for (int k = 0; k < K; ++k) {
        if (k % 2 == 0)
            for (int i = 1; i < N; i++) {
                cards1[seq[i]] = cards0[i];
            }
        else {
            for (int j = 1; j < N; ++j) {
                cards0[seq[j]] = cards1[j];
            }
        }
    }
    if (K % 2 == 0) {
        for (int i = 1; i < 54; ++i) {
            printf("%s ", face_value[cards0[i]]);
        }
        printf("%s", face_value[cards0[54]]);
    } else {
        for (int i = 1; i < 54; ++i) {
            printf("%s ", face_value[cards1[i]]);
        }
        printf("%s", face_value[cards1[54]]);
    }
    return 0;
}
上一篇下一篇

猜你喜欢

热点阅读