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 ...
随机推荐
- hdu5242 Game (贪心+dfs序)
dfs序后用线段树来记每个节点的前缀和 每次找一个前缀和最大的节点,然后把它到根的路径上的每个之前没被走过的点 对应的dfs序的区间 减掉那个点的权值 每个点最多被减一次,复杂度是$O(nlogn)$ ...
- Mysql(二)函数与连接
一.函数 1.if函数 if(exp1, exp2, exp3) 判断exp1是否为true(不为0,并且不为nlll),如果为true,返回 exp2的值,否则返回exp3的值. selec ...
- IOI2018题解
只有部分题解 练习赛 T2 自然还是要简单考虑了 0~n-1的排列,考虑相对的大小 我们先考虑对于前三个:a,b,c 询问a,b,询问b,c,再询问a,b,c 发现,如果三个知道两个,那么第三个可以唯 ...
- Codechef Sad Pairs——圆方树+虚树+树上差分
SADPAIRS 删点不连通,点双,圆方树 非割点:没有影响 割点:子树DP一下 有不同颜色,所以建立虚树 在圆方树上dfs时候 如果当前点是割点 1.统计当前颜色虚树上的不连通点对,树形DP即可 2 ...
- 关于NIO一些优化
1. 使用NIO开发web服务,传输文件内容,可以使用FileChannel.transferTo(position,count,socketChannel)来提升性能: 经过测试,确实能提升10% ...
- non-transactional
this.getHibernateTemplate().getSessionFactory().getCurrentSession().createQuery(queryString)报错No Hib ...
- webGL和three.js的关系
如今浏览器的功能越来越强大,而且这些功能可能通过JavaScript直接调用.你可以用HTML5标签轻松地添加音频和视频,而且可以在HTML5画布上创建各种交互组件.现在这个功能集合里又有了一个新成员 ...
- LaTeX文章结构
%导言 %\documentclass{article} %ctexbook \documentclass{ctexbook} \title{\heiti 监督学习} % 黑体 \author{\ka ...
- kombu源码Producer收获一
celery内置了kombu库,看了一下kombu的源码,从官网最简单的一个例子来分析---消息发布,源码如下: from __future__ import absolute_import, uni ...
- react componentWillReceiveProps 使用注意
componentWillReceiveProps(nextProps) 请务必使用 nextProps 不要使用 this.props 1个小时的教训...