poj3041题解
来源:互联网 发布:甲骨文软件系统公司 编辑:程序博客网 时间:2024/06/04 17:39
题目分析:
要想完成此题,需用到了二分图的知识。包括:
1.二分图的基本概念
2.最大匹配的概念
3.增广路径的概念
4.匈牙利算法
1.2.3概念参考资料:点击打开链接
匈牙利算法参考资料:http://wenku.baidu.com/view/d1070024af45b307e8719770.html
解题思路:http://www.cnblogs.com/lyy289065406/archive/2011/07/30/2121730.html
我用C写的:
#include<stdio.h>int result[501];int mark[501];int map[501][501];int find(int i,int a);int main(){ int a,b,x,y,i,j,count; count=0; scanf("%d %d",&a,&b); for(j=0; j<=a; j++) { for(i=0; i<=a; i++) map[j][i]=0; result[j]=0; mark[j]=0; } for(i=1; i<=b; i++) { scanf("%d %d",&x,&y); map[x][y]=1; } for(i=1; i<=a; i++) { for(j=0; j<=a; j++) mark[j]=0; if(find(i,a)) { count++; } } printf("%d\n",count);}int find(int i,int a){ int j; for(j=1; j<=a; j++) { if(map[i][j]==1&&mark[j]==0) { mark[j]=1; if(result[j]==0||find(result[j],a)) { result[j]=i; return 1; } } } return 0;}
- poj3041题解
- POJ3041: Asteroids 题解
- poj3041
- poj3041
- poj3041
- poj3041
- poj3041
- POJ3041
- POJ3041
- poj3041
- poj3041
- POJ3041
- poj3041
- poj3041
- poj3041
- poj3041
- POJ3041 Asteroids
- poj3041 asteroids
- c++ primer -- 基于过程的设计(2)
- #define用法小结
- 面向对象重要设计原则
- 黑马程序员—我自己编写的手机号码导入
- 纠结了这么久,boss终于让我写java代码了
- poj3041题解
- c++ primer -- 基于过程的设计(3)
- android-BroadcastReceiver 发送一条普通广播
- JNDI
- VM虚拟机网络设置
- c++ primer -- 基于过程的设计(4)
- ExtJS 4 的MVC
- Java 找数组中与下标相等的元素
- c++ primer -- 基于过程的设计(5)