暴力解hdu4930Fighting the Landlords
#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的更多相关文章
- Jquery暴力解数独
var arry= new Array(); var nums= new Array(); var snum; function numchain() { snum=0; for(var i=0; ...
- 探索ASP.NET MVC5系列之~~~3.视图篇(下)---包含常用表单和暴力解猜防御
其实任何资料里面的任何知识点都无所谓,都是不重要的,重要的是学习方法,自行摸索的过程(不妥之处欢迎指正) 汇总:http://www.cnblogs.com/dunitian/p/4822808.ht ...
- 暴力解2018刑侦题python版
# 1-->a 2-->b 3-->c 4-->d a[1]-->question1 a=[None]*11 #11是为了下标方便些,要不逻辑描述的时候容易出错 sum= ...
- HDU4930-Fighting the Landlords
题意:斗地主,就是要自己出牌.使得对手在这一轮无法出牌,或者有出牌的可能.可是你的牌已经走完了.假设符合这些条件的话,输出Yes.否则输出No. 思路:先预处理能直接把牌走完的情况,假设不行的话就直接 ...
- 【BZOJ-4524】伪光滑数 堆 + 贪心 (暴力) [可持久化可并堆 + DP]
4524: [Cqoi2016]伪光滑数 Time Limit: 10 Sec Memory Limit: 512 MBSubmit: 183 Solved: 82[Submit][Status] ...
- 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 ...
- 使用python解数独
偶然发现linux系统附带的一个数独游戏,打开玩了几把.无奈是个数独菜鸟,以前没玩过,根本就走不出几步就一团浆糊了. 于是就打算借助计算机的强大运算力来暴力解数独,还是很有乐趣的. 下面就记录一下我写 ...
- 平台之大势何人能挡? 带着你的Net飞奔吧!
镇楼图: 跨平台系列: Linux基础 1.Linux基础学习 By dnt http://www.cnblogs.com/dunitian/p/4822807.html 环境配置 1.Hyper-v ...
- 03.SQLServer性能优化之---存储优化系列
汇总篇:http://www.cnblogs.com/dunitian/p/4822808.html#tsql 概 述:http://www.cnblogs.com/dunitian/p/60413 ...
随机推荐
- jdbc分页查询
虽然现在db层的框架很多,用起来也非常的方便,像分页这种非常常用的功能也基本上都有对应的接口可以直接使用.但是有时候数据源不在配置的范围的时候,就必须要使用到jdbc来执行sql,jdbc执行的是原生 ...
- Shell printf命令
Shell 的另一个输出命令 printf.默认 printf 不会像 echo 自动添加换行符,我们可以手动添加 \n. #!/bin/bash printf "%-10s %-8s %- ...
- acedssget
大多数ObjectARX函数在处理选择集和实体时,都用名字来识别选择集或实体,该名字用一个长整型对来表示的,并对AutoCAD来维护.在ObjectARX中,该名字的类型为ads_name.在对选择集 ...
- STL源码分析之第二级配置器
前言 第一级是直接调用malloc分配空间, 调用free释放空间, 第二级三就是建立一个内存池, 小于128字节的申请都直接在内存池申请, 不直接调用malloc和free. 本节分析第二级空间配置 ...
- 洛谷——P2090 数字对
P2090 数字对 题目描述 对于一个数字对(a, b),我们可以通过一次操作将其变为新数字对(a+b, b)或(a, a+b). 给定一正整数n,问最少需要多少次操作可将数字对(1, 1)变为一个数 ...
- ROS lesson 1
ROS ROS官网 ROS 简介 ROS 是 Robot Operation System 的简写,并且 他诞生在2000年后,至今有10余年了,运行在 Linux(Ubuntu) 上 ROS 不是 ...
- jsonview插件的常见使用方法整理
Jsonview是目前最热门的一款开发者工具插件,确切的来说jQuery JSONView是一款非常实用的格式化和语法高亮JSON格式数据查看器jQuery插件.它是查看json数据的神器. 下载地址 ...
- Jenkins 的插件AnsiColor 多颜色
- type="timestamp"与type="date"区别
type="timestamp"-----数据库中保存的时间为年月日时分秒 与type="date"---------数据库中保存的时间为年月日
- [K/3Cloud]关于K/3 Cloud v2.0升级补丁的疑问
现在除了K/3 Cloud v2.0的正式版之外,后续又发布了SP1和SP2补丁包.改善了一些问题和BUG,有些人之前可能之前装了SP1,有的可能没装过.在这里我说明一下: 不管装没装过补丁直接打SP ...