hdu 1528 二分匹配
#include<stdio.h>
#include<string.h>
int map[100][100],mark[100],link[100],max2,k;
int find(int u) {
int i;
for(i=1;i<=k;i++) {
if(!mark[i]&&map[u][i]) {
mark[i]=1;
if(!link[i]||find(link[i])) {
link[i]=u;
return 1;
}
}
}return 0;
}
int seach(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';
}
int main() {
int i,j,sum,ans,ans2,t,a,b,diyi[100],dier[100];
char c,ch;
scanf("%d",&t);
while(t--) {
scanf("%d",&k);
memset(map,0,sizeof(map));
memset(link,0,sizeof(link));
for(i=1;i<=k;i++) {
scanf(" %c%c",&c,&ch);
a=seach(c);
b=seach(ch);
diyi[i]=(a-1)*4+b;
}
for(i=1;i<=k;i++) {
scanf(" %c%c",&c,&ch);
a=seach(c);
b=seach(ch);
dier[i]=(a-1)*4+b;
}
sum=0;
for(i=1;i<=k;i++)
for(j=1;j<=k;j++)
if(dier[i]>diyi[j])
map[i][j]=1;//重要的地方不能写成map[dier[i]][diyi[j]]=1这样会超时巧妙地将其转化为k个数的比较
for(i=1;i<=k;i++) {
memset(mark,0,sizeof(mark));
sum+=find(i);
}
printf("%d\n",sum);
}
return 0;
}
hdu 1528 二分匹配的更多相关文章
- hdu 4169 二分匹配最大独立集 ***
题意:有水平N张牌,竖直M张牌,同一方向的牌不会相交.水平的和垂直的可能会相交,求最少踢出去几张牌使剩下的牌都不相交. 二分匹配 最小点覆盖=最大匹配. 链接:点我 坐标点作为匹配的端点 #inclu ...
- hdu 5093 二分匹配
/* 题意:给你一些冰岛.公共海域和浮冰,冰岛可以隔开两个公共海域,浮冰无影响 求选尽可能多的选一些公共海域点每行每列仅能选一个. 限制条件:冰山可以隔开这个限制条件.即*#*可以选两个 预处理: * ...
- Battle ships HDU - 5093二分匹配
Battle shipsHDU - 5093 题目大意:n*m的地图,*代表海洋,#代表冰山,o代表浮冰,海洋上可以放置船舰,但是每一行每一列只能有一个船舰(类似象棋的車),除非同行或者同列的船舰中间 ...
- hdu 4685 二分匹配+强连通分量
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=4685 题解: 这一题是poj 1904的加强版,poj 1904王子和公主的人数是一样多的,并且给出 ...
- H - Prince and Princess - HDU 4685(二分匹配+强连通分量)
题意:有N个王子M个公主,王子喜欢一些公主,而且只能是王子喜欢的人,他们才可以结婚,现在让他们尽可能多的结婚的前提下找出来每个王子都可以和谁结婚. 分析:先求出来他们的最大匹配,因为给的数据未必是完备 ...
- HDU 3729 二分匹配 反向匹配
题意: 给定 n个学生 说的 自己 考试排名的 可能范围 确定最多几个人说真话 如果有多种答案,输出字典序最大的那种( 要求字典序最大,所以solve中从最大字典序开始匹配) 思路: 题目给定 点 ...
- HDU -1151 二分匹配与有向无环图不相交最小路径覆盖数
题意: 考虑一个小镇,那里的所有街道都是单向的,并且每条街道都从一个路口通往另一个路口.还众所周知,从一个十字路口开始,穿过城镇的街道,您将永远无法到达同一十字路口,即,城镇的街道没有环. 基于这些假 ...
- HDU 2603 二分匹配
#include <queue>#include <vector>#include <cstdio>#include <cstring>#include ...
- Hdu 2389 二分匹配
题目链接 Rain on your Parade Time Limit: 6000/3000 MS (Java/Others) Memory Limit: 655350/165535 K (Ja ...
随机推荐
- Android开发-浅谈架构(一)
写在前面的话 嗯 聊聊架构. 这段时间一直在维护旧项目. 包括自己之前写的新项目 越来越发现 一个架构清晰的项目往往让人赏心悦目.不至于在一个bug丢过来之后手足无措.包括以后别人接收自己的项目 能很 ...
- Java_静态变量
class c1c { private static int num = 0; private static double pi = 3.14; private double radius; priv ...
- Android小玩意儿-- 从头开发一个正经的MusicPlayer(一)
之前从未接触过音乐播放器这块东西的开发.今天偶然想做一个自己的音乐播放器.算是练练手.既然要做,就要做一个正儿八经的App.很多网上的资料也是模模糊糊,不是很全,现在开始,自己摸索着尝试着一步一步的做 ...
- ssm框架搭建(下) 简单案例
前言 这段时间没有更新博客,一直想做一个基于ssm的简单的项目.经过多次的尝试,终于实现了简单的增删查改功能了. 正文 由于前端的技术不是很熟悉,经过多方的查阅,使用了bootstrap的样式,来使界 ...
- mybatis 存储过程的写法
(注意事项: 在使用游标的时候,不能在游标声明之前,使用crud) 存储过程示例 CREATE DEFINER=`root`@`::` PROCEDURE `earnings_proceduce`() ...
- Qt _六天的学习路线
六天的学习路线:第一天: 1.Qt的介绍 2.Qt的框架 3.项目文件(.pro) 4.第一个Qt程序(hello Qt) 5.父窗口和子窗口的区别(控件,部件,构件) ...
- JavaEE-04 数据源配置
学习要点 JNDI 数据库连接池 完成新闻发布系统数据库连接池 JNDI 说明 JNDI(Java Naming and Directory Interface),中文翻译为Java命名与目录接口,是 ...
- HTML基础(四)表格
定义和用法 <table> 标签定义 HTML 表格. 简单的 HTML 表格由 table 元素以及一个或多个 tr.th 或 td 元素组成. tr 元素定义表格行,th 元素定义表头 ...
- 数据库课程设计 PHP web实现
纪念一下自己写的东西.. 都说很垃圾就是了 直接用XAMPP做的 菜鸟网上学的PHP和HTML <!DOCTYPE html> <html> <head> < ...
- 优化UITableView
在iOS应用中,UITableView应该是使用率最高的视图之一了.iPod.时钟.日历.备忘录.Mail.天气.照片.电话.短信.Safari.App Store.iTunes.Game Cente ...