经典建模。

#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
char tmp[5][5];
int mapr[4][4];
int mapc[4][4];
int map[16][16];
int to[16];
bool vis[16];
int d[]={1,0};
int r[]={0,1};
int id1,id2,n,ans;
int hahaha(int k)
{for(int i=0;i<id2;i++){if(!vis[i]&&map[k][i]){vis[i]=1;if(to[i]==-1||hahaha(to[i])){to[i]=k;return 1;}}}return 0;
}
int main()
{while(scanf("%d",&n)&&n){memset(mapr,-1,sizeof(mapr));memset(mapc,-1,sizeof(mapc));memset(map,0,sizeof(map));for(int i=0;i<n;i++){scanf("%s",tmp[i]);}id1=0,id2=0;for(int i=0;i<n;i++){for(int j=0;j<n;j++){int nx=i,ny=j,flag=0;if(mapr[nx][ny]==-1){while(tmp[nx][ny]=='.'){mapr[nx][ny]=id1;nx+=d[0];ny+=d[1];flag=1;}}id1+=flag;nx=i;ny=j;flag=0;if(mapc[nx][ny]==-1){while(tmp[nx][ny]=='.'){mapc[nx][ny]=id2;nx+=r[0];ny+=r[1];flag=1;}}id2+=flag;}}for(int i=0;i<n;i++){for(int j=0;j<n;j++){if(tmp[i][j]=='.'){map[mapr[i][j]][mapc[i][j]]=1;}}}ans=0;memset(to,-1,sizeof(to));for(int i=0;i<id1;i++){memset(vis,0,sizeof(vis));ans+=hahaha(i);}printf("%d\n",ans);}return 0;
}

hdu 1045 Fire Net相关推荐

  1. (匹配)Fire Net --hdu --1045

    链接: http://acm.hdu.edu.cn/showproblem.php?pid=1045 http://acm.hust.edu.cn/vjudge/contest/view.action ...

  2. hdu 杭电 1045 Fire Net

    题意:地图中最多能放多少炮台. 解法:深搜. ac代码: View Code #include<iostream> using namespace std;char map[8][8]; ...

  3. 【HDU - 1045】Fire Net (dfs 或二分图)

    题干: Suppose that we have a square city with straight streets. A map of a city is a square board with ...

  4. hdoj 1045 Fire Net 直接枚举 模拟就好了

    题目链接 直接枚举所有结果就可以了, 就是第一次模拟这样的数据 每个位置若没有阻挡物,存在着两种状态,一是有堡垒,二是空地.直接枚举就可以了. 自己的代码写的很繁琐,但是 首次想到了 将if(y> ...

  5. kuangbin带你飞专题合集

    题目列表 [kuangbin带你飞]专题一 简单搜索 [kuangbin带你飞]专题二 搜索进阶 [kuangbin带你飞]专题三 Dancing Links [kuangbin带你飞]专题四 最短路 ...

  6. 算法学习经典例题整理

    陆续会对本篇博客进行更新! 搜索:https://vjudge.net/contest/292597 区间DP:https://vjudge.net/contest/293892 树状背包:https ...

  7. 杭电OJ分类题目(4)-Graph

    原题出处:HDOJ Problem Index by Type,http://acm.hdu.edu.cn/typeclass.php 杭电OJ分类题目(4) HDU Graph Theory - U ...

  8. 杭电OJ分类题目(3)

    原题出处:HDOJ Problem Index by Type,http://acm.hdu.edu.cn/typeclass.php 杭电OJ分类题目(3) HDU Computational Ge ...

  9. C语言求数列最小公倍数,C语言复习---获取最小公倍数(公式法:两个数相乘等于最小公倍数乘以最大公约数)...

    Android 图片浏览器 从原来位置放大至全屏显示 android 图片浏览器 特点: 1.从网络加载图片,只需要传图片地址数组即可 2.点击图片,从原来位置放大至全屏 3.支持手势操作 4.完全自 ...

最新文章

  1. 重写enum的valueof方法等
  2. hls.js播放hls直播源
  3. shiro的登录 subject.login(token)中执行逻辑和流程
  4. Swift:如何判断一个对象是否是某个类(或其子类)的实例
  5. SGU 187 - Twist and whirl -- want to cheat
  6. 嵌入式C语言自我修养 08:变参函数的格式检查
  7. 转载 Socket与TCP/IP的关系 转(非常好的一篇文章!)
  8. 素材路上|专注平面设计素材模板,可能会让你抛弃花瓣!
  9. 360 java插件设置_jdk环境变量一键设置 管理員运行
  10. Windows Phone 7 软件体系结构
  11. iOS LinkedIn登录及信息获取
  12. 2.1.5、会员权限管理系统应用
  13. linux操作系统(云服务器中的使用)
  14. 基于cat12和SPM12进行大脑VBM数据分析笔记2——统计分析
  15. 应用Itextsharp 添加图片到pdf
  16. 计算机类的竞赛一般多会报,2017自主招生报考条件建议65问,涵盖所有问题!...
  17. Redis集群的部署
  18. 正则表达式(regex)入门
  19. https证书安装部署 https证书怎么安装
  20. 一个大专生的java从业心路历程

热门文章

  1. 华为机试HJ13:句子逆序
  2. 华为机试HJ11:数字颠倒
  3. curl 请求日志_Java 日志实践:简明配置、日志抽样和级别动态修改
  4. 数值范围_量比指标怎么看?量比数值的意义
  5. python 测试开发请关注这个新框架
  6. 还在人工测越权漏洞?快来自动扫描吧!
  7. php form 上传_php+html5使用FormData对象提交表单及上传图片的方法
  8. 小程序接入h5页面_原生小程序接入H5页面,请求后台接口,获取数据
  9. python是最好的语言_Python转Crystal语言或许是个不错的选择
  10. c++ 文件读写_串行FLASH 文件系统FatFs