#include #include #include char who[3], r[110]; char h1[27], h2[27], h3[27], h4[27], h5[27]; char f1, f2, c1, c2; int p1(char c) { if (c >= '2' && c <= '9') return c - '1'; if (c == 'T') return 9; if (c == 'J') return 10; if (c == 'Q') return 11; if (c == 'K') return 12; if (c == 'A') return 13; } int p2(char c) { if (c == 'C') return 1; if (c == 'D') return 2; if (c == 'S') return 3; if (c == 'H') return 4; } int compare(const void *a, const void *b) { f1 = *((char*)a); f2 = *((char*)b); c1 = *(((char*)a) +1); c2 = *(((char*)b) +1); if (p2(f1) < p2(f2)) return -1; else if (p2(f1) > p2(f2)) return 1; else { if (p1(c1) < p1(c2)) return -1; else if (p1(c1) > p1(c2)) return 1; } return 0; } int main() { int i; gets(who); while (who[0] != '#') { gets(r); gets(r + 52); for (i = 0; i < 13; i++) { h1[i * 2] = r[i * 8]; h1[i * 2 +1] = r[i * 8 +1]; h2[i * 2] = r[i * 8 +2]; h2[i * 2 +1] = r[i * 8 +3]; h3[i * 2] = r[i * 8 +4]; h3[i * 2 +1] = r[i * 8 +5]; h4[i * 2] = r[i * 8 +6]; h4[i * 2 +1] = r[i * 8 +7]; } qsort(h1, 13, 2, compare); qsort(h2, 13, 2, compare); qsort(h3, 13, 2, compare); qsort(h4, 13, 2, compare); if (who[0] == 'S' || who[0] == 'W' || who[0] == 'N') { strcpy(h5, h4); strcpy(h4, h3); strcpy(h3, h2); strcpy(h2, h1); strcpy(h1, h5); } if (who[0] == 'W' || who[0] == 'N') { strcpy(h5, h4); strcpy(h4, h3); strcpy(h3, h2); strcpy(h2, h1); strcpy(h1, h5); } if (who[0] == 'N') { strcpy(h5, h4); strcpy(h4, h3); strcpy(h3, h2); strcpy(h2, h1); strcpy(h1, h5); } printf("South player:\n"); printf("+---+---+---+---+---+---+---+---+---+---+---+---+---+\n"); for (i = 0; i < 13; i++) printf("|%c %c", h1[i*2 +1], h1[i*2 +1]); printf("|\n"); for (i = 0; i < 13; i++) printf("| %c ", h1[i*2]); printf("|\n"); for (i = 0; i < 13; i++) printf("|%c %c", h1[i*2 +1], h1[i*2 +1]); printf("|\n+---+---+---+---+---+---+---+---+---+---+---+---+---+\n"); printf("West player:\n"); printf("+---+---+---+---+---+---+---+---+---+---+---+---+---+\n"); for (i = 0; i < 13; i++) printf("|%c %c", h2[i*2 +1], h2[i*2 +1]); printf("|\n"); for (i = 0; i < 13; i++) printf("| %c ", h2[i*2]); printf("|\n"); for (i = 0; i < 13; i++) printf("|%c %c", h2[i*2 +1], h2[i*2 +1]); printf("|\n+---+---+---+---+---+---+---+---+---+---+---+---+---+\n"); printf("North player:\n"); printf("+---+---+---+---+---+---+---+---+---+---+---+---+---+\n"); for (i = 0; i < 13; i++) printf("|%c %c", h3[i*2 +1], h3[i*2 +1]); printf("|\n"); for (i = 0; i < 13; i++) printf("| %c ", h3[i*2]); printf("|\n"); for (i = 0; i < 13; i++) printf("|%c %c", h3[i*2 +1], h3[i*2 +1]); printf("|\n+---+---+---+---+---+---+---+---+---+---+---+---+---+\n"); printf("East player:\n"); printf("+---+---+---+---+---+---+---+---+---+---+---+---+---+\n"); for (i = 0; i < 13; i++) printf("|%c %c", h4[i*2 +1], h4[i*2 +1]); printf("|\n"); for (i = 0; i < 13; i++) printf("| %c ", h4[i*2]); printf("|\n"); for (i = 0; i < 13; i++) printf("|%c %c", h4[i*2 +1], h4[i*2 +1]); printf("|\n+---+---+---+---+---+---+---+---+---+---+---+---+---+\n\n"); gets(who); } return 0; }