⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 1741.cpp

📁 这是哈尔滨工业大学acmOJ的源代码
💻 CPP
字号:
/*  This Code is Submitted by wywcgs for Problem 1741 on 2005-03-23 at 17:30:26 */ 
#include <stdio.h>

void scanCard(char*);
int suitcmp(char, char);

int main()
{
    int T, dis;
    int i, j, re[3];
    char card[4][3];
    
    scanf("%d", &T);
    for(i = 0; i < T; i++){
        scanCard(card[0]);
        for(j = 1; j < 4; j++){
            scanCard(card[j]);
        }
        re[0] = suitcmp(card[1][1], card[2][1]);
        if(re[0] == 0){
            if(card[1][0] > card[2][0]){
                re[0] = 1;
            }else{
                re[0] = -1;
            }
        }
        re[1] = suitcmp(card[2][1], card[3][1]);
        if(re[1] == 0){
            if(card[2][0] > card[3][0]){
                re[1] = 1;
            }else{
                re[1] = -1;
            }
        }
        re[2] = suitcmp(card[1][1], card[3][1]);
        if(re[2] == 0){
            if(card[1][0] > card[3][0]){
                re[2] = 1;
            }else{
                re[2] = -1;
            }
        }
        if((re[0] == -1) && (re[1] == -1) && (re[2] == -1)){
            dis = 1;
        }else if((re[0] == -1) && (re[1] == 1) && (re[2] == -1)){
            dis = 2;
        }else if((re[0] == 1) && (re[1] == -1) && (re[2] == -1)){
            dis = 3;
        }else if((re[0] == -1) && (re[1] == 1) && (re[2] == 1)){
            dis = 4;
        }else if((re[0] == 1) && (re[1] == -1) && (re[2] == 1)){
            dis = 5;
        }else if((re[0] == 1) && (re[1] == 1) && (re[2] == 1)){
            dis = 6;
        }
        card[0][0] += dis;
        if(card[0][0] > 13){
            card[0][0] %= 13;
        }        
        if(card[0][0] == 10){
            card[0][0] = 'T';
        }else if(card[0][0] == 11){
            card[0][0] = 'J';
        }else if(card[0][0] == 12){
            card[0][0] = 'Q';
        }else if(card[0][0] == 13){
            card[0][0] = 'K';
        }else{    
            card[0][0] += '0';
        }
        printf("%s\n", card[0]);
    }
    
    return 0;
}                
            
void scanCard(char* card)
{
    scanf("%s", card);
    if(card[0] == 'T'){
        card[0] = 10;
    }else if(card[0] == 'J'){
        card[0] = 11;
    }else if(card[0] == 'Q'){
        card[0] = 12;
    }else if(card[0] == 'K'){
        card[0] = 13;    
    }else{
        card[0] -= '0';
    }
}
int suitcmp(char a, char b)
{
    int p[2], m;

    p[0] = a;
    p[1] = b;
    for(m = 0; m < 2; m++){
        switch(p[m]){
            case 'S':
                p[m] = 4;
                break;
            case 'D':
                p[m] = 3;
                break;
            case 'C':
                p[m] = 2;
                break;
            case 'H':
                p[m] = 1;
                break;
        }
    }
    if(p[0] > p[1]){
        return 1;
    }else if(p[0] == p[1]){
        return 0;
    }else{
        return -1;
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -