• POJ 2062 HDU 1528 ZOJ 2223 Card Game Cheater


    水题,感觉和田忌赛马差不多

    #include<cstdio>
    #include<cstring>
    #include<cmath>
    #include<algorithm>
    using namespace std;
    
    struct P1
    {
        int Num;
        int Hua;
    } Play1[30];
    
    struct P2
    {
        int Num;
        int Hua;
    } Play2[30];
    
    bool cmp1(const P1&a,const P1&b)
    {
        if(a.Num==b.Num) return a.Hua<b.Hua;
        return a.Num<b.Num;
    }
    bool cmp2(const P2&a,const P2&b)
    {
        if(a.Num==b.Num) return a.Hua<b.Hua;
        return a.Num<b.Num;
    }
    
    int main()
    {
        int n;
        int i,j;
        char s[5];
        int TT;
        scanf("%d",&TT);
        while(TT--)
        {
            scanf("%d",&n);
            for(i=0; i<n; i++)
            {
                scanf("%s",s);
                int num,hua;
                if(s[0]>='0'&&s[0]<='9') num=s[0]-'0';
                if(s[0]=='T') num=10;
                if(s[0]=='J') num=11;
                if(s[0]=='Q') num=12;
                if(s[0]=='K') num=13;
                if(s[0]=='A') num=14;
                Play1[i].Num=num;
                if(s[1]=='C') hua=1;
                if(s[1]=='D') hua=2;
                if(s[1]=='S') hua=3;
                if(s[1]=='H') hua=4;
                Play1[i].Hua=hua;
            }
            sort(Play1,Play1+n,cmp1);
            for(i=0; i<n; i++)
            {
                scanf("%s",s);
                int num,hua;
                if(s[0]>='0'&&s[0]<='9') num=s[0]-'0';
                if(s[0]=='T') num=10;
                if(s[0]=='J') num=11;
                if(s[0]=='Q') num=12;
                if(s[0]=='K') num=13;
                if(s[0]=='A') num=14;
                Play2[i].Num=num;
                if(s[1]=='C') hua=1;
                if(s[1]=='D') hua=2;
                if(s[1]=='S') hua=3;
                if(s[1]=='H') hua=4;
                Play2[i].Hua=hua;
            }
            sort(Play2,Play2+n,cmp2);
            int ans=0;
            int P=0;
            for(i=0; i<n; i++)
            {
                for(j=P; j<n; j++)
                {
                    if((Play2[j].Num>Play1[i].Num)||(Play2[j].Num==Play1[i].Num&&Play2[j].Hua>Play1[i].Hua))
                    {
                        ans++;
                        
                        P=j+1;break;
                    }
                }
            }
            printf("%d
    ",ans);
        }
        return 0;
    }
  • 相关阅读:
    53. Maximum Subarray
    Search Insert Position
    Single Number II
    260. Single Number III
    136. Single Number
    338. Counting Bits
    axios实现拦截器
    Vuex入门(5)—— 为什么要用Action管理异步操作
    ES6语法(3)—— 用promise()对象优雅的解决异步操作
    Vuex之理解Getters的用法
  • 原文地址:https://www.cnblogs.com/zufezzt/p/4677112.html
Copyright © 2020-2023  润新知