poj 2062

来源:互联网 发布:花生壳域名ip解析失败 编辑:程序博客网 时间:2024/06/06 20:39

#include<iostream>

#include<queue>

#include<algorithm>

#include<map>

#include<string.h>

#include<math.h>

#include<stdio.h>

#include <iomanip>

#include <stack>

#include <sstream>

////////


using namespacestd;



struct player

{

    int no;

    int type;

};

player adam[28];

player eve[28];


int getnum(char s[3])

{

    int number=0;

    if(s[0]>='2' && s[0]<='9')

        number = s[0] -'0';

    if(s[0]=='T')

        number =10;

    if(s[0]=='J')

        number=11;

    if(s[0]=='Q')

        number=12;

    if(s[0]=='K')

        number=13;

    if(s[0]=='A')

        number=14;

    return number;

}

bool cmp(constplayer &a,constplayer &b)

{

    if(a.no==b.no)

        return a.type<b.type;

    else return a.no<b.no;

}


int main()

{

    int i,j;

    int Cases;

    char card[3];

    int num_of_cards;

    scanf("%d",&Cases);

    while (Cases--)

    {

        scanf("%d",&num_of_cards);

        for(i=0;i<num_of_cards;i++)

        {

            cin>>card;

            int num =getnum(card);

            adam[i].no = num;

            if(card[1]=='C')

                num = 1;

            if(card[1]=='D')

                num =2;

            if(card[1]=='S')

                num=3;

            if(card[1]=='H')

                num = 4;

            adam[i].type = num;

        }

        sort(adam,adam+num_of_cards,cmp);

        ///////////

        for(i=0;i<num_of_cards;i++)

        {

            cin>>card;

            int num =getnum(card);

            eve[i].no = num;

            if(card[1]=='C')

                num = 1;

            if(card[1]=='D')

                num =2;

            if(card[1]=='S')

                num=3;

            if(card[1]=='H')

                num = 4;

            eve[i].type = num;

        }

        sort(eve,eve+num_of_cards,cmp);

        int Count =0;

        int flag =0;

        for(i=0;i<num_of_cards;i++)

            for(j=flag;j<num_of_cards;j++)

            {

                if(eve[j].no>adam[i].no || (eve[j].no==adam[i].no &&eve[j].type>adam[i].type))

                {

                    Count++;

                flag = j+1 ;

                break;

                }

            }

        printf("%d\n",Count);

        

    }

    return0;

}

0 0