hdu4185 Oil Skimming (最大匹配)
来源:互联网 发布:php网站修改教程 编辑:程序博客网 时间:2024/05/22 09:31
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4185
题解:水平和竖直方向;有#相邻,连一条边,求最大匹配。
#include <cstdio> #include <cstring> #include <vector> #define MAXN 602 #define MAXV 1000using namespace std; vector<int> mp[MAXN]; int from[MAXV],visited[MAXV]; int matr[MAXN][MAXN];char gra[MAXN][MAXN];int match(int x) { int i,temp,size; size=mp[x].size(); for(i=0;i<size;++i) { temp=mp[x][i]; if(!visited[temp]) { visited[temp]=1; if(from[temp]==-1||match(from[temp])) { from[temp]=x; return 1; } } } return 0; } int hungary(int n){int i,sum=0;memset(from,-1,sizeof(from));for(i=0;i<n;++i){memset(visited,0,sizeof(visited));if(match(i))++sum;}return sum;}int main(){int n,test,i,j,cnt,cases=0;scanf("%d",&test);while(test--){scanf("%d",&n);cnt=0;for(i=0;i<n;++i){scanf("%s",gra[i]);for(j=0;j<n;++j){if(gra[i][j]=='#')matr[i][j]=cnt++;}}for(i=0;i<=cnt;++i){mp[i].clear();}for(i=0;i<n;++i){for(j=0;j<n;++j){if(gra[i][j]!='#')continue;if(i>0&&gra[i-1][j]=='#')mp[matr[i][j]].push_back(matr[i-1][j]);if(i<n-1&&gra[i+1][j]=='#')mp[matr[i][j]].push_back(matr[i+1][j]);if(j>0&&gra[i][j-1]=='#')mp[matr[i][j]].push_back(matr[i][j-1]);if(j<n-1&&gra[i][j+1]=='#')mp[matr[i][j]].push_back(matr[i][j+1]);}}n=cnt;cnt=hungary(n);printf("Case %d: %d\n",++cases,cnt/2);}return 0;}
- hdu4185 Oil Skimming (最大匹配)
- HDU4185 Oil Skimming-二分匹配
- hdu4185 Oil Skimming(二分匹配)
- hdu4185 Oil Skimming
- HDU4185-Oil Skimming
- Hdu4185 Oil Skimming
- HDU4185 Oil Skimming
- HDU4185 Oil Skimming(二分图匹配,匈牙利算法)
- hdu 4185 Oil Skimming (最大匹配)
- hdu 4185 Oil Skimming(最大匹配)
- hdu 4185 Oil Skimming(最大匹配)
- Oil Skimming——最大二分匹配
- hdu 4185 Oil Skimming 【最大匹配】
- HDU 4185 Oil Skimming(最大匹配)
- hdu 4185 Oil Skimming (最大匹配)
- HDU 4185 Oil Skimming (最大匹配)
- hdu 4185 Oil Skimming(最大匹配)
- hdu4185-Oil Skimming(二分图,模板)
- HTTP报文
- CSU1326: The contest(并查集+分组背包)
- 第1章 C语言与程序概述之1.1.2 C语言的标准化
- [每日一题] 11gOCP 1z0-053 :2013-10-3 large ASM files--- variable extent size....................15
- 我的Android进阶之旅------>Android中AsyncTask源码分析
- hdu4185 Oil Skimming (最大匹配)
- BNU 29022 Myth Busters (dfs)
- 看《算法导论》的一点感想 (转)
- 第1章 C语言与程序概述之1.1.3 C语言的特点
- ceoi2004 锯木厂选址
- csdn 公司大事记
- 在Asp.net中利用OWC11画统计图(柱状图,饼状图及线状图等)及补充 .
- POJ1308-并查集
- 第1章 C语言与程序概述之1.1.4 Hello, world!