模拟题,只是想纪念下,WA到死了…… 看到好多代码都好长,其实想说不用这么暴力。

 #include <iostream>
#include <cstdio>
#include <cstring>
#include <cstdlib>
#include <cmath>
#include <algorithm>
#include <string>
#include <queue>
#include <stack>
#include <vector>
#include <map>
#include <set>
#include <functional>
#include <time.h> using namespace std; const int INF = <<;
const int MAXN = ; char str[][MAXN];
int id[];
int cnt[][MAXN];
int MAX[][];
int tr[][]; bool check() {
int len[] = {strlen(str[]), strlen(str[])};
if (len[]==) return true;
memset(cnt, , sizeof(cnt));
memset(MAX, , sizeof(MAX));
memset(tr, , sizeof(tr)); for (int i = ; i < ; i++) //统计每张牌出现的数量
for (int j = ; j < len[i]; j++)
cnt[i][id[str[i][j]]]++; for (int k = ; k < ; k++) //找出最大的牌
for (int i = ; i > ; i--)
for (int j = ; j > ; j--)
if (cnt[k][j]>=i) {
MAX[k][i] = j;
break;
}
for (int k = ; k < ; k++) //3带1、2
for (int i = ; i < ; i++)
for (int j = ; j < ; j++)
if (MAX[k][]> && j!=MAX[k][] && cnt[k][j]>=i)
tr[k][i] = MAX[k][]; if (len[]< && MAX[][len[]]>) return true; //能出完
if (MAX[][]>&&len[]==) return true; //4带2
if ((len[]==&&tr[][]>)||(len[]==&&tr[][]>)) return true; //能出完+1
if (cnt[][]>&&cnt[][]>) return true; //有王炸
if (cnt[][]>&&cnt[][]>) return false; //对方有王炸
if (MAX[][]<MAX[][]) return false; //对方有炸弹 for (int i = ; i > ; i--)
if (MAX[][i]>=MAX[][i] && MAX[][i]>) //有大过对方的牌
return true; return false;
} int main() {
#ifdef Phantom01
freopen("HDU4930.txt", "r", stdin);
#endif //Phantom01 id[''] = ;
id[''] = ;
id[''] = ;
id[''] = ;
id[''] = ;
id[''] = ;
id[''] = ;
id['T'] = ;
id['J'] = ;
id['Q'] = ;
id['K'] = ;
id['A'] = ;
id[''] = ;
id['X'] = ;
id['Y'] = ; int T;
scanf("%d", &T);
gets(str[]); while (T--) {
gets(str[]);
gets(str[]);
if (check()) puts("Yes");
else puts("No");
} return ;
}

最新文章

  1. JS巧妙思路
  2. sqlserver内存释放心得
  3. Linux Shell系列教程之(十五) Shell函数简介
  4. 每一个成功的程序员的身后都有一个--------Parse
  5. Vim经典讲解
  6. EasyUI的增删查改(后台ASP.NET)
  7. SQL Server 2008 导出数据与导入数据任务介绍
  8. D - Specialized Four-Digit Numbers
  9. ubuntu oracle jdk
  10. 1668: [Usaco2006 Oct]Cow Pie Treasures 馅饼里的财富
  11. Html5浏览器支持
  12. Android智能指针SP WP使用方法介绍
  13. SpringBoot系统列 4 - 常用注解、拦截器、异常处理
  14. TIJ -- 吐司BlockingQueue
  15. Java 虚拟机的对象创建
  16. LightGBM调参总结
  17. ORACLE PACKAGE中查看包的依赖关系
  18. [java,2018-01-16] HttpClient发送、接收 json 请求
  19. uri,url和urn的区别以及URLEncoder
  20. [2017BUAA软工]第2次个人作业

热门文章

  1. SpringBoot(五) 番外---Docker
  2. CF 286(div 2) B Mr. Kitayuta&#39;s Colorful Graph【传递闭包】
  3. ActiveMQ学习笔记(16)----Message Dispatch高级特性(二)
  4. ActiveMQ服务安装
  5. 紫书 习题 11-10 UVa 12264 (二分答案+最大流)
  6. IDEA设置控制台日志 不换行
  7. GenIcam标准(一)
  8. PID三种参数的理解
  9. poj3134 Power Calculus IDA*
  10. 常用Java开源库(新手必看)