Card Game Cheater HDU1528
二分图最大匹配问题
扑克题还是用map比较方便
#include<bits/stdc++.h>
using namespace std;
#define MAXI 52
int yd[MAXI][];
int xw[MAXI][];
int used[MAXI];
int vis[MAXI];
int n,m; map<char,int>mm; bool judge(int a,int b)
{
if( mm[xw[a][]]>mm[ yd[b][] ] )
return true;
else if(mm[xw[a][]]==mm[ yd[b][] ])
return mm[xw[a][]]>mm[ yd[b][] ];
else
return false;
} bool dfs(int x)//x指夏娃数组下标
{
for(int j=;j<=n;j++)//j是亚当的
{
if(judge(x,j)&&!used[j])
{
used[j]=;
if(!vis[j]||dfs(vis[j]) )
{
vis[j]=x;
return true;
}
}
}
return false;
} int find1(void)
{ int ans=;
memset(vis,,sizeof(vis));
for(int i=;i<=n;i++)//这里的i指的是夏娃的
{
memset(used,,sizeof(used));
if(dfs(i))ans++;
}
return ans;
} int main()
{
int cas;
cin>>cas;
for(char i='';i<='';i++)
mm[i]=i-'';
mm['T']=;
mm['J']=;
mm['Q']=;
mm['K']=;
mm['A']=;
mm['C']=;
mm['D']=;
mm['S']=;
mm['H']=;
int first=;
while(cas--)
{
scanf("%d",&n);
char s[];
for(int i=;i<=n;i++)
{
scanf("%s",s);
yd[i][]=s[];
yd[i][]=s[];
}
for(int i=;i<=n;i++)
{
scanf("%s",s);
xw[i][]=s[];
xw[i][]=s[];
}
printf("%d\n",find1());
}
return ;
}
Card Game Cheater HDU1528的更多相关文章
- hdu----(1528)Card Game Cheater(最大匹配/贪心)
Card Game Cheater Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others ...
- Card Game Cheater(贪心+二分匹配)
Card Game Cheater Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others ...
- (hdu step 6.3.5)Card Game Cheater(匹配的最大数:a与b打牌,问b赢a多少次)
称号: Card Game Cheater Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Other ...
- (简单匹配)Card Game Cheater -- hdu --1528
http://acm.hdu.edu.cn/showproblem.php?pid=1528 Card Game Cheater Time Limit: 2000/1000 MS (Java/Othe ...
- HDOJ 1528 Card Game Cheater
版权声明:来自: 码代码的猿猿的AC之路 http://blog.csdn.net/ck_boss https://blog.csdn.net/u012797220/article/details/3 ...
- hdu 1528 Card Game Cheater (二分匹配)
Card Game Cheater Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others ...
- Card Game Cheater
Card Game Cheater Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others ...
- 「日常训练」Card Game Cheater(HDU-1528)
题意与分析 题意是这样的:有\(n\)张牌,然后第一行是Adam的牌,第二行是Eve的牌:每两个字符代表一张牌,第一个字符表示牌的点数,第二个表示牌的花色.Adam和Eve每次从自己的牌中选出一张牌进 ...
- HDU-1528/1962 Card Game Cheater
两组牌中两张牌相比能赢的就连,后求最大匹配. #include <cmath> #include <cstdlib> #include <cstdio> #incl ...
随机推荐
- HGOI20180904(NOIP2018模拟sxn出题)
sol 输入n和H表示n个人,选H个人gcd最大抓住排列,是x[1,n]的正整数,是连续的整数,假设现在最大的公因数是k其中k一定是在[1,n]那么在排列中最多出现的个数为w那么kw是最大的含有因数k ...
- CF1096D Easy Problem(DP)
貌似最近刷了好多的CF题…… 题目链接:CF原网 洛谷 题目大意:有一个长度为 $n$ 的字符串 $s$,删除第 $i$ 个字符需要代价 $a_i$.问使得 $s$ 不含有子序列(不是子串)" ...
- 将句子表示为向量(下):基于监督学习的句子表示学习(sentence embedding)
1. 引言 上一篇介绍了如何用无监督方法来训练sentence embedding,本文将介绍如何利用监督学习训练句子编码器从而获取sentence embedding,包括利用释义数据库PPDB.自 ...
- SQL存储过程例子
存储过程呢,学校里学习的都是简单的.这里是我在工作的时候写的存储过程,贴出来,其中公司相关我都XXX代替了 (注:这个例子可以算是动态SQL的例子了,写死的是静态SQL,这个很灵活的传入参数的是动态S ...
- 蓝桥杯 算法提高 9-3摩尔斯电码 _c++ Map容器用法
//****|*|*-**|*-**|--- #include <iostream> #include <map> #include <vector> #inclu ...
- css中实现ul两端的li对齐外面边缘
其实就是设置ul的宽度大一些就好
- jdk1.8.0_45源码解读——HashMap的实现
jdk1.8.0_45源码解读——HashMap的实现 一.HashMap概述 HashMap是基于哈希表的Map接口实现的,此实现提供所有可选的映射操作.存储的是<key,value>对 ...
- Python3中的内置函数
内置函数 我们一起来看看python里的内置函数.什么是内置函数?就是Python给你提供的,拿来直接用的函数,比如print,input等等.截止到python版本3.6.2,现在python一共为 ...
- [转]html网页 swf播放器使用代码
<object id="player" height="240" width="275" classid="CLSID:6B ...
- 【前端node开发】你需要的Express开发教程
1.极简Node教程-七天从小白变大神(一:你需要Express) https://www.jianshu.com/p/b4701a6efc50