Card Game Cheater---hdu1528(扑克建图求二分匹配)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1528
题意就是给有两个人有n张牌第二个人知道第一个人的牌的序列;
然后第二个人尽可能的让自己得更高的分,求这个最高分;
就是对方拿一张牌出来自己拿一张比他大的就得1分,如果相等就按红桃>黑桃>方块>梅花进行比较;
建图求最大匹配就可以了;注意:A是最大的牌。。。
#include<stdio.h>
#include<iostream>
#include<string.h>
#include<algorithm>
#include<math.h>
using namespace std;
#define N 220 int n, maps[N][N], vis[N], used[N]; struct node
{
int v,s;///v是纸牌的价值,s类型1:梅花 2:方块 3:黑桃 4:红桃;
} a[N], b[N]; void change(char s[], node &a)///传入地址才能改变它的值;
{
if(s[]<=''&&s[]>='')a.v=s[]-'';
if(s[]=='A')a.v=;///A是最大的牌;;;;;
if(s[]=='T')a.v=;
if(s[]=='J')a.v=;
if(s[]=='Q')a.v=;
if(s[]=='K')a.v=; if(s[]=='H')a.s=;
if(s[]=='S')a.s=;
if(s[]=='D')a.s=;
if(s[]=='C')a.s=;
}
bool Find(int u)
{
for(int i=; i<=n; i++)
{
if(!vis[i] && maps[u][i])
{
vis[i]=;
if(!used[i] || Find(used[i]))
{
used[i]=u;
return true;
}
}
}
return false;
}
int main()
{
int T;
char s[];
scanf("%d", &T);
while(T--)
{
memset(a, , sizeof(a));
memset(b, , sizeof(b));
memset(maps, , sizeof(maps));
memset(used, , sizeof(used));
scanf("%d", &n);
for(int i=; i<=n; i++)
{
scanf("%s", s);
change(s, a[i]);
}
for(int i=; i<=n; i++)
{
scanf("%s", s);
change(s, b[i]);
for(int j=; j<=n; j++)///建立b和a的关系,当为1时说明第二个人的那张牌大一第一个人的那张牌;
{
if(b[i].v>a[j].v)
maps[i][j] = ;
if(b[i].v==a[j].v && b[i].s>a[j].s)
maps[i][j] = ;
}
}
int ans=;
for(int i=; i<=n; i++)
{
memset(vis, , sizeof(vis));
if(Find(i))
ans++;
}
printf("%d\n", ans);
}
return ;
}
Card Game Cheater---hdu1528(扑克建图求二分匹配)的更多相关文章
- We Need More Bosses CodeForces - 1000E(缩点 建图 求桥 求直径)
题意: 就是求桥最多的一条路 解析: 先求连通分量的个数 然后缩点建图 求直径即可 #include <bits/stdc++.h> #define mem(a, b) memset(a ...
- Card Game Cheater HDU1528
二分图最大匹配问题 扑克题还是用map比较方便 #include<bits/stdc++.h> using namespace std; #define MAXI 52 ]; ]; int ...
- Invitation Cards(邻接表+逆向建图+SPFA)
Time Limit: 8000MS Memory Limit: 262144K Total Submissions: 17538 Accepted: 5721 Description In ...
- HDU 4857 逃生 【拓扑排序+反向建图+优先队列】
逃生 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission ...
- 【ARC069F】Flags 2-sat+线段树优化建图+二分
Description 数轴上有 n 个旗子,第 ii 个可以插在坐标 xi或者 yi,最大化两两旗子之间的最小距离. Input 第一行一个整数 N. 接下来 N 行每行两个整数 xi, ...
- kuangbin带你飞 匹配问题 二分匹配 + 二分图多重匹配 + 二分图最大权匹配 + 一般图匹配带花树
二分匹配:二分图的一些性质 二分图又称作二部图,是图论中的一种特殊模型. 设G=(V,E)是一个无向图,如果顶点V可分割为两个互不相交的子集(A,B),并且图中的每条边(i,j)所关联的两个顶点i和j ...
- HPU 3639--Hawk-and-Chicken【SCC缩点反向建图 && 求传递的最大值】
Hawk-and-Chicken Time Limit: 6000/2000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) ...
- Codeforces Round #545 (Div. 2) E 强连通块 + dag上求最大路径 + 将状态看成点建图
https://codeforces.com/contest/1138/problem/E 题意 有n个城市(1e5),有m条单向边(1e5),每一周有d天(50),对于每个城市假如在某一天为1表示这 ...
- Vulnerable Kerbals CodeForces - 772C【拓展欧几里得建图+DAG上求最长路】
根据拓展欧几里得对于同余方程 $ax+by=c$ ,有解的条件是 $(a,b)|c$. 那么对于构造的序列的数,前一个数 $a$ 和后一个数 $b$ ,应该满足 $a*x=b(mod m)$ 即 $ ...
随机推荐
- P3383: [Usaco2004 Open]Cave Cows 4 洞穴里的牛之四
这个系列总算是做完了,这是我第一次高效率做完四道题,虽然中间有两道水题,但是第一和第四题还是蛮好的,但是只要能想到思路就很快能打完的. 像这道题,刚开始在想能不能用DP?但是苦于不知道怎么实施,后来又 ...
- ED/EP简介
ED:electronic Deposit,电子存折 EP:electronic Purse,电子钱包 PIN:personal identification number,个人识别码 MAC:Mes ...
- 网络---中断套接字Socket
package socketpack_2; import java.awt.BorderLayout; import java.awt.EventQueue; import java.awt.even ...
- android开发,关于android app实现静默安装自己(系统签名)
产品需求,木有办法.android系统是跟厂商定制的,保证系统开机就运行我们的app,并且实现自己静默安装,完全自动化,无需人工操作. 网上有很多办法, 1.要么要通过android 源码拿到密钥文件 ...
- android 开发 drawerlayout出现退不回去的情况
问题原因: id_framelayout2 写在 id_linearlayout2 的后面了: 注意记得写: android:layout_gravity="start" 正确: ...
- 【Django】Django命令(Manager.py)
django-admin.py startproject mysite 该命令在当前目录创建一个 mysite 目录. django-admin.py这个文件在C:\Python27\Lib\site ...
- 记codevs第一次月赛
第一次参加这种有奖励的比赛(没错,我就是为猴子而去的 一年没怎么碰代码果然手生,还是用没写多久的C++,差点全跪了 T1数学奇才琪露诺: 首先定义一个函数F(x),F(x)=x的各个数位上的数字和 然 ...
- 通过Log4j的DEBUG级别来显示mybatis的sql语句
为了更加方便调试sql语句,需要显示mybatis的sql语句. 网络上的一般方式都是通过log4j来实现,但是很多都有问题. 经过实验,以下代码能够保持正常:(只显示myb ...
- 【BZOJ】【1041】【HAOI2008】圆周上的点
数学 orz hzwer 完全不会做…… 很纠结啊,如果将来再遇到这种题,还是很难下手啊…… 引用题解: [分析]: 样例图示: 首先,最暴力的算法显而易见:枚举x轴上的每个点,带入圆的方程,检查是否 ...
- Matlab求范数
对 p = 2,这称为弗罗贝尼乌斯范数(Frobenius norm)或希尔伯特-施密特范数( Hilbert–Schmidt norm),不过后面这个术语通常只用于希尔伯特空间.这个范数可用不同的方 ...