两张牌比大小的游戏。
第一个字母是牌面点数,第二个是花色(Spade黑桃、Heart红桃、Diamond方片、Clover梅花(其实是四叶草啦))
先给出的那个字母是王牌花色,如果两张牌一个是王牌另一个不是,那么王牌花色获胜,如果都是或者都不是比点数大小。
这里我用了find函数 find(begin,end,key)可以返回找到的值在数组内的指针,指针之间可以相减获得距离。
#include <cstdio>
#include <string>
#include <vector>
#include <cstring>
#include <iostream>
#include <algorithm>
using namespace std;
typedef long long ll;
// http://codeforces.com/contest/106
// Card Game
char tramp[9]={'6','7','8','9','T','J','Q','K','A'};
int main()
{
string trp; cin>>trp;
string a,b; cin>>a>>b;
if(a[1]==trp[0] && b[1]!=trp[0]) cout<<"YES";
else if(a[1]!=trp[0] && b[1]==trp[0]) cout<<"NO";
else
{
int dist=find(tramp,tramp+9,a[0])-find(tramp,tramp+9,b[0]);
if(dist>0) cout<<"YES";
else cout<<"NO";
}
return 0;
}