HDU1528 Card Game Cheater 二分匹配最大点覆盖问题
来源:互联网 发布:淘宝支付宝登录 编辑:程序博客网 时间:2024/04/28 16:55
这道题目还是比较简单的 就是建图有些问题
Adam和Eve打牌,Eve是能够可以看到Adam的牌,牌的顺序先看大小,如果大小一样,再看C,D,H(依次增大),每次出一张牌,大的算赢一次,求出Eve最多能赢多少次。
#include<iostream>#include<cstdio>#include<list>#include<algorithm>#include<cstring>#include<string>#include<queue>#include<stack>#include<map>#include<vector>#include<cmath>#include<memory.h>#include<set>#define ll long long#define LL __int64#define eps 1e-8const ll INF=9999999999999;using namespace std;#define M 400000100#define inf 0xfffffff//vector<pair<int,int> > G;//typedef pair<int,int> P;//vector<pair<int,int>> ::iterator iter;////map<ll,int>mp;//map<ll,int>::iterator p;//vector<int>G[8000];int mp[1212][1212];int marry[1212];bool vis[1212];int dx[1212],dy[1212];int dis[2][4]={0,-1,0,1,1,0,-1,0};int n,m,k;void clear(){memset(marry,-1,sizeof(marry));memset(vis,false,sizeof(vis));memset(mp,0,sizeof(mp));/*for(int i=0;i<=m;i++)G[i].clear();*/}int find(char c){if(c=='C')return 1;if(c=='D')return 2;if(c=='S')return 3;if(c=='H')return 4;if(c=='T')return 10;if(c=='J')return 11;if(c=='Q')return 12;if(c=='K')return 13;if(c=='A')return 14;if(c>='2'&& c<='9')return c-'0';}bool dfs(int x){for(int i=0;i<n;i++){if(mp[x][i] && !vis[i]){vis[i]=true;if(marry[i]==-1 || dfs(marry[i])){marry[i]=x;return 1;}}}return 0;}int main(void){int t;cin>>t;while(t--){clear();cin>>n;char c,s;int u,v;for(int i=0;i<n;i++){cin>>c>>s;u=find(c);v=find(s);dx[i]=(u-1)*4+v;}for(int i=0;i<n;i++){cin>>c>>s;u=find(c);v=find(s);dy[i]=(u-1)*4+v;}for(int i=0;i<n;i++)for(int j=0;j<n;j++)if(dy[i]>dx[j])//这里按照题目要求来建图mp[i][j]=1;int ans=0;for(int i=0;i<n;i++){memset(vis,false,sizeof(vis));if(dfs(i))ans++;}cout<<ans<<endl;}}
- HDU1528 Card Game Cheater 二分匹配最大点覆盖问题
- hdu1528 Card Game Cheater (最大匹配&hdu1962)
- hdu1528 Card Game Cheater (最大匹配)
- hdu 1528 Card Game Cheater(二分图最大匹配)
- HDU 1528 Card Game Cheater(二分图最大匹配)
- hdu 1528 Card Game Cheater(二分图的最大匹配)
- HDU 1528 Card Game Cheater(二分图最大匹配)
- HDU 1528 Card Game Cheater 二分图最大匹配
- HDOJ 1528 Card Game Cheater(二分图最大匹配)
- hdu_1528 Card Game Cheater 二分图匹配
- Hud 1528 Card Game Cheater[二分匹配]
- 【二分匹配】 HDU 1528 Card Game Cheater
- hdu 1582 Card Game Cheater【二分匹配】
- hdu 1528 Card Game Cheater 最大匹配
- HDOJ 题目1528 Card Game Cheater(二分图最小点覆盖)
- HDU1528(最大二分匹配)
- 杭电 hdu 1528 Card Game Cheater (二分图,最大匹配)
- POJ 2062 & HDOJ 1528 Card Game Cheater - 阅读理解..二分图最大匹配
- sqlnet.ora文件详解
- 使用关键代码段实现线程同步
- ADO操控数据库SqlBulkCopy批量数据插入
- error opening trace file: No such file or directory (2)解决办法之一
- iOS面试经常用到的问题
- HDU1528 Card Game Cheater 二分匹配最大点覆盖问题
- Java 连接 Oracle 单例模式
- java Queue容器实现
- 求一个子串在整串中出现的次数。
- android计时器暂停问题
- Failure [INSTALL_FAILED_OLDER_SDK]
- 优秀的js函数
- Bmp 图片格式学习和拆分
- Apache或XAMPP 搭建本地svn 服务器