hdu 1068 Girls and Boys 二分匹配
来源:互联网 发布:ios 九宫格算法 编辑:程序博客网 时间:2024/05/20 22:02
很标准的二分匹配,用的是匈牙利算法。
#include<iostream>#include<string>using namespace std;int key[1000][1000],total,count; //count是所有点能找到增广路径的 total是总人数int ok[1000]; //记录右边所有的已经匹配的点,ok[i]=j右边第i个与左边第j个匹配int rightt[1000]; //记录在一次递归中,右边各点是否已经匹配int route(int );int main(){ int a,b,c; string no; char m; while(cin>>total) { count=0; memset(key,0,sizeof(key)); for(int i=0;i<total;i++) { cin>>a>>m>>m>>b>>m; for(int j=0;j<b;j++) { scanf("%d",&c); key[a][c]=1; } } memset(ok,-1,sizeof(ok)); for(i=0;i<total;i++) //每个点为起点,都找一次增广路径 { memset(rightt,0,sizeof(rightt)); if(route(i)) count++; } cout<<total-count/2<<endl; } return 0;}int route(int i){ for(int j=0;j<total;j++) { if(key[i][j]&&!rightt[j]) //j点在这次递归中,没有被访问过 { rightt[j]=1; if(ok[j]==-1||route(ok[j])) { ok[j]=i; return 1; } } } return 0;}
- hdu 1068 Girls and Boys 二分匹配
- hdu 1068 Girls and Boys (二分匹配)
- hdu 1068 Girls and Boys(最大独立集,二分匹配)
- hdu 1068 Girls and Boys(二分图匹配)
- hdu 1068 Girls and Boys (二分图匹配)
- hdu-1068 Girls and Boys(二分匹配)
- HDU 1068Girls and Boys(二分图最大匹配)
- hdu 1068 Girls and Boys(水题,二分图匹配)
- HDU 1068 Girls and Boys(二分图最大匹配)
- hdu 1068 Girls and Boys 二分图的最大匹配
- HDU 1068 Girls and Boys (二分匹配)
- HDU 1068 Girls and Boys(二分匹配--匈牙利算法)
- hdu 1068 Girls and Boys(二分匹配)
- Girls and Boys (二分匹配)
- HDU 1068 Girls and Boys 二分图
- Hdu 1068 Girls and Boys【最大匹配】
- Girls and Boys HDU (二分匹配入门题)
- HDU 1068 Girls and Boys (二分图匹配---最大独立集)
- hdu.2.2.2
- hdu 3911 Black And White 线段树
- JavaMail学习笔记(三)、使用SMTP协议发送电子邮件(全)
- 一个Java写的用来构建影像金字塔的Bitmap类
- 行进中的总结——读书笔记
- hdu 1068 Girls and Boys 二分匹配
- Android ApiDemos示例解析(29):App->Notification->Status Bar
- 开端--我想做产品
- JavaMail学习笔记(四)、使用POP3协议接收并解析电子邮件(全)
- hdu1008
- JavaMail学习笔记(五)、使用IMAP协议接收并解析电子邮件
- 素数计数公式全面拉丁化改写-小有改进-Meissel公式-梅塞尔-Lehmer公式-莱梅=勒梅尔-筛法三种形式-孟庆余公式
- win calc计算器妙用-功能键-编辑键-视图-命令键-脚本-迭代-连分数-批量和-批次高精度-内存-lisp-文本VS代码
- 本文标题: 矩阵向量叉乘-M' cross (Ma, Mb) = det(M) cross (a,b)-向量与数的混合阵及行列式-求值的中间过程与本质