题解 | #扑克牌大小#

扑克牌大小

https://www.nowcoder.com/practice/d290db02bacc4c40965ac31d16b1c3eb

对不同的牌组打分就行,zorn引理偏序关系下必有链,对于合法,识别牌组分数够不够炸弹最低分



#include <stdio.h>
#define max(a,b) a>b?a:b
int trans(char c)
{
    if(c=='J')return 11;
    else if(c=='Q')return 12;
    else if(c=='K')return 13;
    else if(c=='A')return 14;
    else if(c=='2')return 15;
    else if(c=='1')return 10;//10-J-Q-K-A-2
    else return c-'0';
}
int count(char *str,int n)
{
    int len=strlen(str);
    int num=trans(str[0]);
    if(n==1)
    {
        if(str[1]=='o')return 16;
        else if(str[1]=='O')return 17;
        else return num;
    }
    else if(n==2)
    {
    if((str[0]=='j'&&str[6]=='J')||(str[0]=='J'&&str[6]=='j'))
    return 884866;
    else return num*11;
    }
    else if(n==3)
    {
    return num*111;
    }
    else if(n==4)
    {
    return num*1111;
    }
    else if(n==5)
    {
    return num*111;
    }
    return 0;
}
int number(char *str)
{
    int counting=1;
    for(int i=0;i<strlen(str);i++)
    {
        if(str[i]==' ')
        counting+=1;
    }
    return counting;
}
int main() {
    char str[400],str1[110],str2[110];
    int lable=0;
    gets(str);
    for(int i=0;i<strlen(str);i++)
    {
        if(str[i]=='-')
        {
        lable=i;
        continue;
        }
        if(lable == 0)
        str1[i]=str[i];
        else str2[i-lable-1]=str[i];
    }
    int n1=number(str1);
    int n2=number(str2);
    int count1=count(str1,n1);
    int count2=count(str2,n2);
    if(n1!=n2&&(count1<3333&&count2<3333))
    printf("ERROR");
    else{
    if(count1>count2)
    for(int i=0;i<strlen(str1);i++)
    printf("%c",str1[i]);
    else 
    for(int i=0;i<strlen(str2);i++)
    printf("%c",str2[i]);
    }
    return 0;
}

全部评论

相关推荐

尊尼获获:闺蜜在哪?
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务