HDU-1498(二分匹配_求最大覆盖定点数)
来源:互联网 发布:igv软件下载 编辑:程序博客网 时间:2024/06/06 01:43
这道题目,还是需要仔细读读的,,,如果你不仔细读的时候说不定就用错方法了,,,
在此,想善意的提醒下各位ACMer,一定要看清题目,,
而这道题目,选择二分分配的原因也就是因为,一次他只能选择一行或者一列,而扫描一行或者一列,需要的次数,就正好是最大匹配数目,,,,我一定悉心研究清楚,,回头专门弄个这个讲解为什么的博文发出来.
而这道题目,个人觉得,新颖度还是比较高的,,,涉及到很多方面的知识,
现在贴出代码:
#include <stdio.h>#include <stdlib.h>#include <string.h>#include <math.h>int N,K;//N stands for the lenth of rows or columns,and the M represents the number of times;int visit[105];int map[105][105];int link[105];int count[55];int a[55];int find(int x,int color){for(int i=1;i<=N;i++){if(map[x][i]==color&&!visit[i]){visit[i]=1;if(!link[i]||find(link[i],color)){link[i]=x;return 1;}}}return 0;}int getnum(int color){int sum=0;memset(link,0,sizeof(link));for(int i=1;i<=N;i++){memset(visit,0,sizeof(visit));if(find(i,color))sum++;}//printf("%d*******%d",color,sum);return sum;}int main()//悲哀,,,看了好几次,才发现让求的是不可能打破的气球的种类,想死...- -#{while(scanf("%d%d",&N,&K),N|K){memset(count,0,sizeof(count));memset(map,0,sizeof(map));memset(a,0,sizeof(a));for(int i=1;i<=N;i++){for(int j=1;j<=N;j++){scanf("%d",&map[i][j]);count[map[i][j]]++;}}int kk=0;for(i=1;i<=50;i++){if(count[i]&&getnum(i)>K){a[kk++]=i;//printf("%d__\n",a[kk]);}}if(kk==0)printf("-1\n");else{for(i=0;i<kk;i++){printf(i==0?"%d":" %d",a[i]);}printf("\n");}}return 0;}
- HDU-1498(二分匹配_求最大覆盖定点数)
- HDU-1151(求最小覆盖路径数_二分匹配)
- HDU-1150(求最小覆盖顶点数=二分最大匹配数)
- 过山车(二分图_求最大匹配数)
- HDU 4160 最小路径覆盖 = 顶点数 - 最大匹配数 二分匹配
- 二分图 最小覆盖数 = 最大匹配数、最大独立集 = 总数-最小覆盖集 证明 hdu 1068
- 二分匹配求最大匹配数和最大匹配值
- poj3041_匈牙利算法_二分图最小覆盖点(最大匹配数)
- HDU1150 二分匹配 最少点覆盖=最大匹配数
- HDU 2444 The Accomodation of Students 判断是否为二分匹配+求最大匹配数
- uva11419 【最大二分匹配求最小点覆盖 匈牙利算法】
- HDU-1498二分最大匹配
- 二分图求最大匹配数,最完美匹配概念
- hdu 2444 二分图判定+求二分图最大匹配
- hdu 1150 二分图 最小点覆盖=最大匹配
- HDU 1528 (二分图最大匹配 + 最小覆盖, 14.07.17)
- hdu 1150 二分图最大匹配最小点覆盖
- 匈牙利算法,求最大匹配数即最小顶点覆盖
- Java数据类型操作的原子性
- 珍惜时间,好好备战
- Mysql 排序后获得某行的位置
- cygwin install lua modules
- 网络中流行的PHP分页效果
- HDU-1498(二分匹配_求最大覆盖定点数)
- 开发者需知:优秀程序设计的18大原则
- 黑马程序员——JAVA基础编程
- C+WinSock+SMTP
- 关于Eclipse导包java.servlet.http.cookie报错的问题
- scp命令
- oracle 学习笔记
- 使用Winpcap 获取设备列表
- 最近用了一把boost::range,哎,真方便。(水帖)