hdu 4185Oil Skimming (二分匹配)
来源:互联网 发布:哔哩哔哩软件 编辑:程序博客网 时间:2024/05/17 03:39
点击打开链接
赤裸裸的二分匹配。。。
#include"stdio.h"#include"string.h"#define N 601int map[N][N],v[N],link[N],a[N][N];char str[N][N];int n;int dfs(int k){int i;for(i=0;i<n;i++){if(map[k][i]&&!v[i]){v[i]=1;if(link[i]==-1||dfs(link[i])){link[i]=k;return 1;}}}return 0;}int main(){int i,j,t,ans,tt,cnt;scanf("%d",&t);tt=0;while(t--){scanf("%d",&n);cnt=0;memset(a,0,sizeof(a));for(i=0;i<n;i++){scanf("%s",str[i]);for(j=0;j<n;j++)if(str[i][j]=='#')a[i][j]=cnt++;}memset(map,0,sizeof(map));for(i=0;i<n;i++){for(j=0;j<n;j++){if(str[i][j]=='#'){if(i>0&&str[i-1][j]=='#')map[a[i][j]][a[i-1][j]]=1;if(i<n-1&&str[i+1][j]=='#')map[a[i][j]][a[i+1][j]]=1;if(j>0&&str[i][j-1]=='#')map[a[i][j]][a[i][j-1]]=1;if(j<n-1&&str[i][j+1]=='#')map[a[i][j]][a[i][j+1]]=1;}}}n=cnt;memset(link,-1,sizeof(link));ans=0;for(i=0;i<n;i++){memset(v,0,sizeof(v));if(dfs(i))ans++;}printf("Case %d: %d\n",++tt,ans/2);}return 0;}
- hdu 4185Oil Skimming (二分匹配)
- hdu 4185 Oil Skimming (二分匹配)
- hdu 4185 Oil Skimming (二分匹配)
- 【二分匹配】hdu 4185 Oil Skimming
- HDU 4185 Oil Skimming 二分图匹配
- HDU 4185 — Oil Skimming 二分匹配
- hdu 4185 Oil Skimming 二分图匹配
- hdu 4185 Oil Skimming 二分匹配
- hdu 4185 Oil Skimming【二分匹配】
- HDU 4185 Oil Skimming 二分匹配
- HDU-4185-Oil Skimming [二分匹配]
- HDU 4185 Oil Skimming ( 二分匹配建图 )
- HDU 4185 Oil Skimming(离散化 + 二分图匹配)
- hdu 4185 Oil Skimming(最大匹配)
- hdu 4185 (Oil Skimming) 奇偶匹配
- HDU 4185 Oil Skimming(最大匹配)
- HDU 4185 Oil Skimming(二分图最大匹配)
- HDU 4185 Oil Skimming(二分图最大匹配)
- Android中Acition和Category常量表
- c++ socket通信笔记
- PHP手册-php对象的引用
- Servlet多线程问题
- VC编程经验总结--持续中……
- hdu 4185Oil Skimming (二分匹配)
- 仿百度文库制作(2)-----------flexpaper
- android一个项目引用另外的项目的内容
- silverlight开发实例(Prism+MVVM+RIA)(四)--设置菜单权限
- 线程术语
- Linux 信号说明列表
- c++变量在堆中还是栈中
- E-TASK--(3) 设计登录界面
- 几个CGRect 函数列子