http://poj.org/problem?id=3020

 #include<cstdio>
#include<cstring>
#include<algorithm>
#define maxn 1000
using namespace std;
int t,n,m;
char g[maxn][maxn];
int map1[maxn][maxn];
int gg[maxn][maxn];
bool vis[maxn];
int match[maxn];
int dir[][]={{,-},{,},{,},{-,}};
int res,num;
int dfs(int p)
{
int i,t;
for(i=; i<=num; i++)
{
if(gg[i][p]&&!vis[i])
{
vis[i]=true;
t=match[i];
match[i]=p;
if(t==-||dfs(t))
return ;
match[i]=t;
}
}
return ;
}
void pro()
{
int i;res=;
for(i=; i<=num; i++)
{
memset(vis,false,sizeof(vis));
res+=dfs(i);
}
}
int main()
{
scanf("%d",&t);
while(t--)
{
memset(match,-,sizeof(match));
memset(gg,,sizeof(gg));
memset(map1,,sizeof(map1));
num=;
scanf("%d%d",&n,&m);
for(int i=; i<n; i++)
{
scanf("%s",g[i]);
for(int j=; j<m; j++)
{
if(g[i][j]=='*')
{
map1[i][j]=++num;
}
}
}
for(int i=; i<n; i++)
{
for(int j=; j<m; j++)
{
if(map1[i][j])
{
for(int k=; k<; k++)
{
int x=i+dir[k][];
int y=j+dir[k][];
if(map1[x][y])
{
gg[map1[i][j]][map1[x][y]]=;
}
}
}
}
}
pro();
printf("%d\n",num-res/);
}
return ;
}

poj 3020Antenna Placement的更多相关文章

  1. (重)POJ 3020Antenna Placement

    http://poj.org/problem?id=3020 呃...这个题不是很会,所以找了大神的博客做了参考,说得很详细 http://blog.csdn.net/lyy289065406/art ...

  2. POJ:3020-Antenna Placement(二分图的最小路径覆盖)

    原题传送:http://poj.org/problem?id=3020 Antenna Placement Time Limit: 1000MS Memory Limit: 65536K Descri ...

  3. poj 3020 Antenna Placement(最小路径覆盖 + 构图)

    http://poj.org/problem?id=3020 Antenna Placement Time Limit: 1000MS   Memory Limit: 65536K Total Sub ...

  4. (poj)3020 Antenna Placement 匹配

    题目链接 : http://poj.org/problem?id=3020 Description The Global Aerial Research Centre has been allotte ...

  5. POJ 3020 Antenna Placement【二分匹配——最小路径覆盖】

    链接: http://poj.org/problem?id=3020 http://acm.hust.edu.cn/vjudge/contest/view.action?cid=22010#probl ...

  6. POJ 3020 Antenna Placement 【最小边覆盖】

    传送门:http://poj.org/problem?id=3020 Antenna Placement Time Limit: 1000MS   Memory Limit: 65536K Total ...

  7. POJ 3020——Antenna Placement——————【 最小路径覆盖、奇偶性建图】

    Antenna Placement Time Limit:1000MS     Memory Limit:65536KB     64bit IO Format:%I64d & %I64u S ...

  8. 二分图最大匹配(匈牙利算法) POJ 3020 Antenna Placement

    题目传送门 /* 题意:*的点占据后能顺带占据四个方向的一个*,问最少要占据多少个 匈牙利算法:按坐标奇偶性把*分为两个集合,那么除了匹配的其中一方是顺带占据外,其他都要占据 */ #include ...

  9. POJ——T 3020 Antenna Placement

    http://poj.org/problem?id=3020 Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 9844   A ...

随机推荐

  1. merge into 语法缺陷

    merge into 语法缺陷? test001

  2. js输入框只能输入数字和小数点

    <input name="number" onKeyPress="if (event.keyCode!=46 && (event.keyCode&l ...

  3. 提升ReSharper和Visual Studio的性能

    转载 作者:赵青青        出处:http://www.cnblogs.com/zhaoqingqing/ 文章目录[点击展开](?)[+]   提升性能 我们不断地确保ReSharper的正常 ...

  4. 从Delphi 7升级到Delphi XE

    Delphi 7和XE中间有好几个版本号,可都不太流行,一是由于Delphi有些边缘化,二是7在XP环境下是近乎完美的版本号.市场上关于delphi的书越来越少,提供从7升级到XE介绍的资料差点儿没用 ...

  5. Sea.js提供简单、极致的模块化开发体验

    为什么使用 Sea.js ? Sea.js 追求简单.自然的代码书写和组织方式,具有以下核心特性: 简单友好的模块定义规范:Sea.js 遵循 CMD 规范,可以像 Node.js 一般书写模块代码. ...

  6. 关于OS_PRIO_SELF的说明

    在看ucosii 中关于删除任务的函数 OSTaskDel 时看到 if (prio == OS_PRIO_SELF) {                                 /* See ...

  7. POJ2250:Compromise(LCS)

    Description In a few months the European Currency Union will become a reality. However, to join the ...

  8. Android开发艺术探索》读书笔记 (5) 第5章 理解RemoteViews

    第5章 理解RemoteViews 5.1 RemoteViews的应用 (1)RemoteViews表示的是一个view结构,它可以在其他进程中显示.由于它在其他进程中显示,为了能够更新它的界面,R ...

  9. (转)Css样式兼容IE6,IE7,FIREFOX的写法

    根据FF和IE对一些符号识别的差异,我们可以单独对FF以及IE定义样式,例子: 区别IE6与FF:          background:orange;*background:blue;   区别I ...

  10. (转)DedeCms Runphp 标签中调用其他变量的方法

    DedeCms Runphp 标签中调用其他变量的方法 我们都知道,在DedeCMS中是可以使用PHP的,常见的方法就是if else了,例如模板制作中,我们需要对来源和作者进行判断,如果为空,则提示 ...