#include<iostream>
#include<cstring>
#include<cstdio>
#include<algorithm>
using namespace std;
int a[20],b[20],na,nb;
bool cmp(int aa,int bb)
{
return aa<bb;
}
void in()
{
int i;
char s1[20],s2[20];
scanf("%s%s",s1,s2);
na=strlen(s1);
nb=strlen(s2);
for(i=0;i<na;i++)
{
if(s1[i]=='T')
a[i]=8;
else if(s1[i]=='J')
a[i]=9;
else if(s1[i]=='Q')
a[i]=10;
else if(s1[i]=='K')
a[i]=11;
else if(s1[i]=='A')
a[i]=12;
else if(s1[i]=='2')
a[i]=13;
else if(s1[i]=='X')
a[i]=14;
else if(s1[i]=='Y')
a[i]=15;
else
a[i]=s1[i]-'0'-2;
}
for(i=0;i<nb;i++)
{
if(s2[i]=='T')
b[i]=8;
else if(s2[i]=='J')
b[i]=9;
else if(s2[i]=='Q')
b[i]=10;
else if(s2[i]=='K')
b[i]=11;
else if(s2[i]=='A')
b[i]=12;
else if(s2[i]=='2')
b[i]=13;
else if(s2[i]=='X')
b[i]=14;
else if(s2[i]=='Y')
b[i]=15;
else
b[i]=s2[i]-'0'-2;
}
sort(a,a+na,cmp);
sort(b,b+nb,cmp);
}
bool j0()//0
{
int i;
if(na>6)
return 0;
if(na==1||na==0)
return 1;
if(na==2)
{
if(a[0]==a[1]||(a[0]==14&&a[1]==15))
return 1;
}
else if(na==3)
{
if(a[0]==a[1]&&a[1]==a[2])
return 1;
}
else if(na==4)
{
if(a[0]==a[1]&&a[1]==a[2])
return 1;
if(a[1]==a[2]&&a[2]==a[3])
return 1;
}
else if(na==5)
{
if(a[0]==a[1]&&a[1]==a[2]&&a[3]==a[4])
return 1;
if(a[0]==a[1]&&a[2]==a[3]&&a[3]==a[4])
return 1;
}
else
{
if(a[0]==a[1]&&a[1]==a[2]&&a[2]==a[3])
return 1;
if(a[1]==a[2]&&a[2]==a[3]&&a[3]==a[4])
return 1;
if(a[2]==a[3]&&a[3]==a[4]&&a[4]==a[5])
return 1;
}
return 0;
}
int j1()//zz
{
int i,j; if(a[na-1]==15&&a[na-2]==14)
return 1; if(nb>1)
{
if(b[nb-1]==15&&b[nb-2]==14)
return -1;
} for(i=na-1;i>2;i--)
if(a[i]==a[i-1]&&a[i-1]==a[i-2]&&a[i-2]==a[i-3])
break; for(j=nb-1;j>2;j--)
if(b[j]==b[j-1]&&b[j-1]==b[j-2]&&b[j-2]==b[j-3])
break; if(i>2&&j<3)
return 1; if(j>2&&i<3)
return -1; if(i>2&&j>2)
{
if(a[i]>b[j])
return 1;
if(a[i]<b[j])
return -1;
} return 0;
}
bool j2()//1
{
return a[na-1]>=b[nb-1];
}
bool j3()//2
{
int i,j;
for(i=na-1;i>0;i--)
if(a[i]==a[i-1])
break;
if(i==0)
return 0; if(nb<2)
return 1;
for(j=nb-1;j>0;j--)
if(b[j]==b[j-1])
break;
if(j==0)
return 1; return a[i]>=b[j];
}
bool j4()//3
{
int i,j,ii,jj;
if(na<3)
return 0; for(i=na-1;i>1;i--)
if(a[i]==a[i-1]&&a[i-1]==a[i-2])
break; if(i==1)
return 0; for(j=nb-1;j>1;j--)
if(b[j]==b[j-1]&&b[j-1]==b[j-2])
break; if(j==1)
return 1; if(a[i]>b[j])
return 1; if(na>3&&nb==3)
return 1; for(ii=na-1;ii>0;ii--)
{
if(a[ii]==a[i])
continue;
if(a[ii]==a[ii-1])
break;
} if(ii==0)
return 0; for(jj=nb-1;jj>0;jj--)
{
if(b[jj]==b[j])
continue;
if(b[jj]==b[jj-1])
break;
} if(jj==0)
return 1; return 0;
}
int main()
{
int exp,t;
scanf("%d",&exp);
while(exp--)
{
in();
if(na==0)
{
puts("Yes");
continue;
}
else if(nb==0)
{
puts("No");
continue;
}
if(j0())
puts("Yes");
else
{
t=j1();
if(t==1)
puts("Yes");
else if(t==-1)
puts("No");
else
{
if(j2()||j3()||j4())
puts("Yes");
else
puts("No");
}
}
}
}

暴力解hdu4930Fighting the Landlords的更多相关文章

  1. Jquery暴力解数独

      var arry= new Array(); var nums= new Array(); var snum; function numchain() { snum=0; for(var i=0; ...

  2. 探索ASP.NET MVC5系列之~~~3.视图篇(下)---包含常用表单和暴力解猜防御

    其实任何资料里面的任何知识点都无所谓,都是不重要的,重要的是学习方法,自行摸索的过程(不妥之处欢迎指正) 汇总:http://www.cnblogs.com/dunitian/p/4822808.ht ...

  3. 暴力解2018刑侦题python版

    # 1-->a 2-->b 3-->c 4-->d a[1]-->question1 a=[None]*11 #11是为了下标方便些,要不逻辑描述的时候容易出错 sum= ...

  4. HDU4930-Fighting the Landlords

    题意:斗地主,就是要自己出牌.使得对手在这一轮无法出牌,或者有出牌的可能.可是你的牌已经走完了.假设符合这些条件的话,输出Yes.否则输出No. 思路:先预处理能直接把牌走完的情况,假设不行的话就直接 ...

  5. 【BZOJ-4524】伪光滑数 堆 + 贪心 (暴力) [可持久化可并堆 + DP]

    4524: [Cqoi2016]伪光滑数 Time Limit: 10 Sec  Memory Limit: 512 MBSubmit: 183  Solved: 82[Submit][Status] ...

  6. Codeforces Intel Code Challenge Final Round (Div. 1 + Div. 2, Combined) B. Batch Sort(暴力)

    传送门 Description You are given a table consisting of n rows and m columns. Numbers in each row form a ...

  7. 使用python解数独

    偶然发现linux系统附带的一个数独游戏,打开玩了几把.无奈是个数独菜鸟,以前没玩过,根本就走不出几步就一团浆糊了. 于是就打算借助计算机的强大运算力来暴力解数独,还是很有乐趣的. 下面就记录一下我写 ...

  8. 平台之大势何人能挡? 带着你的Net飞奔吧!

    镇楼图: 跨平台系列: Linux基础 1.Linux基础学习 By dnt http://www.cnblogs.com/dunitian/p/4822807.html 环境配置 1.Hyper-v ...

  9. 03.SQLServer性能优化之---存储优化系列

    汇总篇:http://www.cnblogs.com/dunitian/p/4822808.html#tsql 概  述:http://www.cnblogs.com/dunitian/p/60413 ...

随机推荐

  1. Visual Studio TFS

    Overview:Active Directory环境下搭建TFS(一个domain内,with Domain Controller): 1)最简单的环境(这俩拓扑是从TFSAdmin文档中截取的,从 ...

  2. Oracl常用e函数整理

    最近学Oracle数据库,常常遇到Oracle数据库函数问题,经过默默地琢磨处理,总结了一些Oracle数据库常用函数. ------------------------------------ -- ...

  3. PHPStorm+XDebug进行调试

    笔者的开发环境如下: Windows8.1+Apache+PhpStorm+XDebug+Firefox(XDebug helper 1.4.3插件). 一.XDebug安装配置 (1)下载XDebu ...

  4. 国外一些好用的UX/UI设计工具和资源介绍

    你今天使用的设计工具也许不再适合以后的网页和APP设计项目了.新的工具不断的推出市场,目标只有一个,让你的工作更快.更容易而且工作成效更好.以下就是各种工具的介绍入口,当您点击标题就会看到各种很好的工 ...

  5. webstom2017最新破解 ------------ http://blog.csdn.net/voke_/article/details/76418116

    webstorm 作为最近最火的前端开发工具,也确实对得起那个价格,但是秉着勤俭节约的传统美德,我们肯定是能省则省啊. 方法一:(更新时间:2018/1/23)v3.3 注册时,在打开的License ...

  6. gym101343J. Husam and the Broken Present 2 (状压DP)

    题意:给定n个串 每个串长度不超过100 找到一个新串 使得这n个串都是它的字串 输出这个新串的最小长度 题解:n是15 n的阶乘的复杂度肯定不行 就想到了2的15次方的复杂度 想到了状压但是不知道怎 ...

  7. KOA的简易模板引擎实现方式

    上上一期链接--也就是本文的基础,参考KOA,5步手写一款粗糙的web框架 上一期链接--有关Router的实现思路,这份Koa的简易Router手敲指南请收下 本文参考仓库:点我 上一期科普了Rou ...

  8. Monkey进行测试时如何屏蔽掉状态栏和音量键

    我在学习的过程中使用简单的点击命令总是会触发到音量键和状态栏,由于我的测试机是虚拟按键所以也会触碰到 接下来说一下解决办法 全屏状态  adb shell settings put global po ...

  9. Semi-colon expected (eclipse 引入 json文件报错)

    最近做的项目用到的前端框架有一个json文件夹,里面全是json文件,所以导入Eclipse的时候会在整个项目上都是红叉,但是其实不影响项目运行的,之前忙着码代码也没时间管他,这个红叉存留了一个月!今 ...

  10. Network----轮询

    轮询: 定时每隔多长时间刷新一次,但是,7X24的对服务器的压力会过大,因为在夜间或者是流量低峰期时,他还要持续工作. 客户端发一次请求,服务器就要相应一次. 长轮询: 和轮询的模式不同,长轮询是一次 ...