hdu4185 Oil Skimming(偶匹配)
<span style="font-family: Arial; font-size: 14.3999996185303px; line-height: 26px;">//题意,在一个N*N的矩阵里寻找最多有多少个</span><span style="font-size: 14px; line-height: 26px; font-family: 'Courier New', Courier, monospace; white-space: pre;">“</span><span style="font-size: 14px; line-height: 26px; font-family: 'Courier New', Courier, monospace; white-space: pre;">##”(横着竖着都行)。 </span>
# include <stdio.h>
# include <algorithm>
# include <string.h>
using namespace std;
int n,cot;
int map[660],vis[660],pp[660][660],u[660][660];
int bfs(int x)
{
for(int i=1;i<=cot;i++)
{
if(!vis[i]&&pp[x][i])
{
vis[i]=1;
if(!map[i]||bfs(map[i]))
{
map[i]=x;
return 1;
}
}
}
return 0;
}
void judge(int x,int y)
{
if(x<n-1&&u[x+1][y])
pp[u[x][y]][u[x+1][y]]=pp[u[x+1][y]][u[x][y]]=1;//相连的“#”标记
if(y<n-1&&u[x][y+1])
pp[u[x][y]][u[x][y+1]]=pp[u[x][y+1]][u[x][y]]=1;
}
int main()
{
int t,cas,i,j;
char a[660][660];
while(~scanf("%d",&t))
{
cas=0;
while(t--)
{
scanf("%d",&n);
for(i=0;i<n;i++)
scanf("%s",a[i]);
memset(u,0,sizeof(u));
cot=0;
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
if(a[i][j]=='#')
u[i][j]=++cot;//为“#”标记
}
}
memset(pp,0,sizeof(pp));
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
if(u[i][j])
{
judge(i,j);
}
}
}
int res=0;
memset(map,0,sizeof(map));
for(i=1;i<=cot;i++)//一共1到cot个油田
{
memset(vis,0,sizeof(vis));
if(bfs(i))
res++;
}
printf("Case %d: %d\n",++cas,res/2);
}
}
return 0;
}
版权声明:本文博主原创文章,博客,未经同意不得转载。
hdu4185 Oil Skimming(偶匹配)的更多相关文章
- HDU4185 Oil Skimming 二分图匹配 匈牙利算法
原文链接http://www.cnblogs.com/zhouzhendong/p/8231146.html 题目传送门 - HDU4185 题意概括 每次恰好覆盖相邻的两个#,不能重复,求最大覆盖次 ...
- 匈牙利算法求最大匹配(HDU-4185 Oil Skimming)
如下图:要求最多可以凑成多少对对象 大佬博客: https://blog.csdn.net/cillyb/article/details/55511666 https://blog.csdn.net/ ...
- HDU4185 Oil Skimming —— 最大匹配
题目链接:https://vjudge.net/problem/HDU-4185 Oil Skimming Time Limit: 2000/1000 MS (Java/Others) Memo ...
- Hdu4185 Oil Skimming
Oil Skimming Problem Description Thanks to a certain "green" resources company, there is a ...
- hdu 4185 Oil Skimming(二分图匹配 经典建图+匈牙利模板)
Problem Description Thanks to a certain "green" resources company, there is a new profitab ...
- Oil Skimming HDU - 4185(匹配板题)
Oil Skimming Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Tota ...
- HDU4185:Oil Skimming(二分图最大匹配)
Oil Skimming Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Tota ...
- H - Oil Skimming (挖石油)
题意大概是,海上漂浮着一些符号为#的石油,你要去搜集他们,但是你的勺子呢能且只能挖到两个单元的石油.问你最多能挖多少勺.注意 不能挖到纯净的海水,不然石油会被纯净的海水稀释的. 二分匹配,计算出里边有 ...
- J - Oil Skimming 二分图的最大匹配
Description Thanks to a certain "green" resources company, there is a new profitable indus ...
随机推荐
- hdu1540(线段树)
题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=1540 题意:是一条线上的点,D x是破坏这个点,Q x是表示查询以x所在的最长的连续的点的个数,R是恢 ...
- POJ 1205 Water Treatment Plants(递推)
题意 建设一条河岸的污水处理系统 河岸有n个城市 每一个城市都能够自己处理污水 V 也能够把污水传到相邻的城市处理 >或< 除了你传给我我也传给你这样的情况 其他都是 ...
- 游戏开发实验室的内部讲座总结----c++
第三节 动态内存分配new和delete 经过调试设置断点,发现new 函数事实上还是调用的malloc函数. 第四节 引用 一个变量是能够有多个引用的,引用也是能够传递的. 常量是不能有 ...
- Error: ORA-16501: the Data Guard broker operation failed ORA-16625: cannot reach database
在备库上建配置文件 DGMGRL> create configuration 'sharkdbbork' as primary database is 'sharkdb' connect ide ...
- HDU 1171 Big Event in HDU (多重背包)
Big Event in HDU Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others ...
- ASP.NET之Cookie(坑爹的Response.Cookies.Remove)
原文:ASP.NET之Cookie(坑爹的Response.Cookies.Remove) 在web开发中Cookie是必不可少的 .NET自然也有一个强大的Cookie操作类,我们用起来也非常方便, ...
- SoccerLeagueDB
create table if not exists League ( lid int primary key auto_increment, lyear int not null, s ...
- 泛泰A870L/K/S第三版官方4.4.2原来的系统卡刷机包 (愿自己主动ROOT)
采用suky大神ota具,来自官方的拍摄OTA包裹,未做任何改动, 使用官方recovery,还是我的头发中国TWRP 2.7.1.1 for A870 (己主动ROOT. 自己主动ROOT完后就自己 ...
- Maven导入eclipse缺少web-resources目录
导入其它机器的maven项目会出现缺少target/m2e/下的web-resources目录,眼下详细原因不知道, 解决方法是,直接将缺少的web-resources目录复制到项目中,错误解决
- Android使得手机拍照功能的发展(源共享)
Android系统调用手机拍照功能有两种方法来直接调用手机自带摄像头还有一个就是要当心自己的节拍. 例Camera360 强大的一个在每个操作系统都有一个手机摄影软件:您可以捕捉不同风格,不同特效的照 ...