2150: 部落战争
题目链接
题目大意:给出一张地图,一个军队要征战整个土地。一块土地只能经过一次,有X的地方不能走,军队只会走R*C个格子,只会向下走,问最少需要多少军队能够征战所有的土地
题解:比较naive的DAG最小路径覆盖,把可行点连边,搞成二分图就好了
我的收获:水啊
#include <iostream>
#include <cstdio>
#include <cstring>
using namespace std;#define M 2607 int m,n,r,c,cnt;
int lik[M],id[55][55];
bool mp[M][M],vis[M];
char s[55][55];bool hungary(int x)
{for(int i=1;i<=cnt;i++){if(!mp[x][i]||vis[i]) continue;vis[i]=true;if(!lik[i]||hungary(lik[i])) return lik[i]=x;}return false;
}void work()
{int ans=0;for(int i=1;i<=cnt;i++){memset(vis,0,sizeof(vis));if(hungary(i)) ans++;}cout<<cnt-ans<<endl;
}void build()
{int dx[]={r,r,c,c},dy[]={c,-c,r,-r};for(int i=1;i<=n;i++)for(int j=1;j<=m;j++)if(s[i][j]=='.')for(int k=0;k<4;k++){int fx=i+dx[k],fy=j+dy[k];if(s[fx][fy]=='X'||fx<1||fx>n||fy<1||fy>m) continue;mp[id[i][j]][id[fx][fy]]=1;}
}void init()
{cin>>n>>m>>r>>c;for(int i=1;i<=n;i++){scanf("%s",s[i]+1);for(int j=1;j<=m;j++) if(s[i][j]=='.') id[i][j]=++cnt;//只把可行点建图 }build();
}int main()
{init();work();return 0;
}
2150: 部落战争相关推荐
- BZOJ 2150: 部落战争 最大流
2150: 部落战争 Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://www.lydsy.com/JudgeOnline/problem.php? ...
- bzoj 2150: 部落战争 (最小路径覆盖)
2150: 部落战争 Time Limit: 10 Sec Memory Limit: 259 MB Submit: 879 Solved: 493 [Submit][Status][Discus ...
- BZOJ 2150. 部落战争(最小路径覆盖问题)【BZOJ千题计划】
整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 刷题就图一乐 题目链接 https://hydro.ac/d/bzoj/p/2150 是 hydro ...
- bzoj2150 部落战争 二分图匹配
题目链接:戳这里 2150: 部落战争 Time Limit: 10 Sec Memory Limit: 259 MB Submit: 1141 Solved: 631 [Submit][Stat ...
- [bzoj2150] 部落战争 二分图
2150: 部落战争 Time Limit: 10 Sec Memory Limit: 259 MB Submit: 951 Solved: 533 [Submit][Status][Discuss] ...
- 部落战争手游源码( 服务端+客户端+资源+开发文档)
客户端:cocos2d-x C++开发 服务端:JAVA 数据库:Sql 下载地址:http://www.51xyyx.com/2733.html 下载地址:http://www.51xyyx.com ...
- 洛谷:P2172 [国家集训队]部落战争
题目链接: P2172 [国家集训队]部落战争 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 解题思路: 很明显的二分图:将原点与它能走到的点连一条边,然后做一遍最小点覆盖:即选出 ...
- 火柴人部落大乱斗html5游戏在线玩,火柴人部落战争
火柴人部落战争手游是一款最新的动作闯关休闲玩法手游,游戏中玩家可以自由操控火柴人开启大乱斗,在这里自由经营你的国度,收集武器装备,部落战争激情开战,对游戏感兴趣的话不妨点击下载尝试体验吧! 火柴人部落 ...
- 51nod_2929 部落战争(DAG最小路径覆盖)
部落战争 Problem Description lanzerb的部落在A国的上部,他们不满天寒地冻的环境,于是准备向A国的下部征战来获得更大的领土. A国是一个M*N的矩阵,其中某些地方是城镇,某些 ...
最新文章
- sed,sort,uniq,join,cut,paste,split
- ftp 客户端 上传
- Linux 脚本编写基础(二)
- Spring容器初始化Bean、销毁Bean前所做操作的定义方式汇总
- 浅谈迷宫搜索类的双向bfs问题(例题解析)
- Android Studio在Ubuntu下离线安装Gradle
- Zookeeper安装以及启动详解
- 中芯国际发布2021Q1财报:55/65纳米工艺依旧为营收主力
- Javascript根据属性从对象数据中删除元素
- 3.9 训练一个 Softmax 分类器
- Schwarz导数与凹凸性
- 网站平台架构演变史(四) - 水平拆分的查询
- 不同行业的软件都爱用什么编程语言开发?
- r语言如何计算t分布临界值_如何利用R语言进行meta分析—详细教程(2)
- 新浪云SAE共享型数据库MySQL使用经验
- STM32学习笔记二、DS18B20单总线上挂载多路采集
- linux操作系统安装自定义分区,CentOS linux操作系统安装图文教程
- 西门子_Step7软件仿真方法
- 【java获取日期的年月日】
- 纽约州立计算机科学,纽约州立大学布法罗分校计算机科学computer science专业排名第176~200名(2020THE泰晤士高等教育世界大学排名)...