hdu 1179最大匹配
来源:互联网 发布:免备案免费php空间 编辑:程序博客网 时间:2024/05/18 02:16
#include<stdio.h>
#include<string.h>
#define N 200
int map[N][N],visit[N],link[N],n,m;
int find(int u) {
int i;
for(i=1;i<=n;i++)
if(map[u][i]&&visit[i]==0) {
visit[i]=1;
if(link[i]==0||find(link[i])) {
link[i]=u;
return 1;
}
}
return 0;
}
int main() {
int i,j,k,cnt;
while(scanf("%d%d",&n,&m)!=EOF) {
memset(link,0,sizeof(link));
memset(map,0,sizeof(map));
for(i=1;i<=m;i++) {
scanf("%d",&k);
while(k--){
scanf("%d",&j);
map[i][j]=1;
}
}
cnt=0;
for(i=1;i<=m;i++) {
memset(visit,0,sizeof(visit));
cnt+=find(i);
}
printf("%d\n",cnt);
}
return 0;
}
#include<string.h>
#define N 200
int map[N][N],visit[N],link[N],n,m;
int find(int u) {
int i;
for(i=1;i<=n;i++)
if(map[u][i]&&visit[i]==0) {
visit[i]=1;
if(link[i]==0||find(link[i])) {
link[i]=u;
return 1;
}
}
return 0;
}
int main() {
int i,j,k,cnt;
while(scanf("%d%d",&n,&m)!=EOF) {
memset(link,0,sizeof(link));
memset(map,0,sizeof(map));
for(i=1;i<=m;i++) {
scanf("%d",&k);
while(k--){
scanf("%d",&j);
map[i][j]=1;
}
}
cnt=0;
for(i=1;i<=m;i++) {
memset(visit,0,sizeof(visit));
cnt+=find(i);
}
printf("%d\n",cnt);
}
return 0;
}
- hdu 1179最大匹配
- HDU 1179最大匹配
- hdu 1179 (最大匹配裸题)
- HDU 1179(二分最大匹配)
- HDU 1083 最大匹配
- hdu 1281 (最大匹配)
- hdu 1845 (最大匹配)
- hdu 1507 (最大匹配)
- HDU-2063-最大匹配
- hdu 2063最大匹配
- HDU-1498二分最大匹配
- Hdu 2063 过山车 最大匹配
- hdu 2119(最大匹配)
- hdu 1845(最大匹配)
- hdu 1507(最大匹配)
- hdu 4185(最大匹配)
- hdu 1526(最大匹配)
- hdu 2063 过山车 【最大匹配】
- HTTPClient实现java自动登录人人网
- 1
- 常用的Objective-C特性检查
- 【天梯 - Wikioi】2235 机票打折
- 输入三角形三边长,判断是否能组成三角形,并输出面积
- hdu 1179最大匹配
- linux中interfaces文件auto和auto-hotplug区别
- SDRAM的寻址知识及重要的参数
- 程序员面试题精选100题(09)-链表中倒数第k个结点[数据结构]
- 第15周项目4-字符串操作
- NYOJ-263-精 挑 细 选-2013年10月20日17:07:37
- 速度与激情
- 函数中局部变量的返回
- IO流