Wikioi 1022 覆盖
题目描述 Description
有一个N×M的单位方格中,其中有些方格是水塘,其他方格是陆地。如果要用1×2的矩阵区覆盖(覆盖过程不容许有任何部分重叠)这个陆地,那么最多可以覆盖多少陆地面积。
输入描述 Input Description
输入文件的第一行是两个整数N,M (1<=N,M<=100),第二行为一个整数K( K<=50),接下来的K行,每行两个整数X,Y表示K个水塘的行列位置。(1<=X<=N,1<=Y<=M)。
输出描述 Output Description
输出所覆盖的最大面积块(1×2面积算一块)。
样例输入 Sample Input
4 4
6
1 1
1 4
2 2
4 1
4 2
4 4
样例输出 Sample Output
4
数据范围及提示 Data Size & Hint
见描述
#include<cstdio>
#include<algorithm>
#include<set>
#include<ctime>
#include<queue>
#include<iostream>
#include<cmath>
#include<cstring>
#include<cstdlib>
using namespace std;int n,m,k;
bool map[10010];
int linky[10010],color[10010];
int vis[10010];
int T,ans,sum;bool find(int x)
{//cout<<x<<endl;if(x%n && !map[x+1]){if(vis[x+1]!=T){vis[x+1]=T;if(!linky[x+1] || find(linky[x+1])){linky[x+1]=x;//cout<<x+1<<" "<<x<<endl;return true;}}}if((x-1)%n && !map[x-1]){if(vis[x-1]!=T){vis[x-1]=T;if(!linky[x-1] || find(linky[x-1])){linky[x-1]=x;//cout<<x-1<<" "<<x<<endl;return true;}}}if(x+n<=sum && !map[x+n]){if(vis[x+n]!=T){vis[x+n]=T;if(!linky[x+n] || find(linky[x+n])){linky[x+n]=x;//cout<<x+n<<" "<<x<<endl;return true;}}}if(x-n>0 && !map[x-n]){if(vis[x-n]!=T){vis[x-n]=T;if(!linky[x-n] || find(linky[x-n])){linky[x-n]=x;//cout<<x-n<<" "<<x<<endl;return true;}}}return false;
}int main()
{cin>>m>>n>>k;int cur=0;for(int i=0;i<k;i++){int x,y;scanf("%d%d",&x,&y);map[(x-1)*n+y]=true;}sum=n*m;for(int i=1;i<=sum;i++){color[i]=cur;cur^=1;if(!(n&1) && !(i%n)){cur^=1;}}for(int i=1;i<=sum;i++){T=i;if(map[i] || color[i])continue;//cout<<T<<":::::::::"<<endl;if(find(i))ans++;//cout<<ans<<endl;}cout<<ans<<endl;return 0;
}
//Copyright (C) 2014 wikioi user12923 All rights reserved
Wikioi 1022 覆盖相关推荐
- 【wikioi】1022 覆盖(匈牙利)
http://www.wikioi.com/problem/1022/ 好不容易来一次1A,,水题啊.. 染色后裸匈牙利orz #include <cstdio> #include < ...
- wikioi 3027 线段覆盖 2
题目描述 Description 数轴上有n条线段,线段的两端都是整数坐标,坐标范围在0~1000000,每条线段有一个价值,请从n条线段中挑出若干条线段,使得这些线段两两不覆盖(端点可以重合)且线段 ...
- client elapsed: 0 ms, server elapsed: 1022 ms, timeout: 1000 ms,
{timestamp: 1528113688276, status: 500, error: "Internal Server Error",-} error : "In ...
- 统信桌面操作系统V20专业版(1022)发布
今日,统信桌面操作系统V20专业版(1022)正式发布. 统信桌面操作系统具有安全稳定.智能协同.美观易用的特点,拥有丰富的软硬件兼容性,广泛的应用生态支持, 兼容国内主流处理器架构,可为党政军.金融 ...
- 基于流向算法的WSN覆盖优化
文章目录 一.理论基础 1.流向算法 2.FDA算法流程图 二.WSN覆盖优化仿真 1.二维覆盖优化 2.三维覆盖优化 三.参考文献 一.理论基础 1.流向算法 流向算法(Flow Direction ...
- 浅显易懂 Makefile 入门 (02)— 普通变量和自动变量定义、使用($@、$^、$< 作用)、变量覆盖 override、变量的来源 origin
1. 变量的定义 Makefile 文件中定义变量的基本语法如下: 变量的名称=值列表 变量的名称可以由大小写字母.阿拉伯数字和下划线构成.等号左右的空白符没有明确的要求,因为在执行 make 的时候 ...
- LeetCode简单题之检查是否区域内所有整数都被覆盖
题目 给你一个二维整数数组 ranges 和两个整数 left 和 right .每个 ranges[i] = [starti, endi] 表示一个从 starti 到 endi 的 闭区间 . 如 ...
- html滑动逐渐覆盖效果,创意jQuery和CSS3滑动覆盖响应式幻灯片特效
这是一款非常有创意的jQuery和CSS3滑动覆盖响应式幻灯片特效.该幻灯片特效采用响应式设计,在幻灯片切换时使用一个滑动块状区域来进行覆盖,显示新的幻灯片内容,整体效果非常不错. 使用方法 HTML ...
- 多个矩形,求覆盖面积,周长,及交点
问题:给出若干个矩形,(给的是矩形左上角和右下角坐标),求最后所得图形的面积/周长: 三个矩形如左图所示,而若要计算面积,看右图,用3个矩形各自的面积之和减去重复部分(红色和蓝色)的面积 人算很简单, ...
最新文章
- 开发板tftp:timeout问题
- python中flag的用法_python中“标志位”的使用
- C++获取链表的大小的实现算法(附完整源码)
- 图论--拓扑排序--判断一个图能否被拓扑排序
- 关于c/c++/obj-c的混合使用 (2010-06-22 10:05:33)
- hdu 6962 I love tree 线段树维护二次函数
- 论文浅尝 | 基于知识库的类型实体和关系的联合抽取
- 玩游戏学微积分!探索理工锻炼的游戏化应用, 腾讯发布新游戏《微积历险记》...
- 数据结构 8-0 排序
- soa---java 多线程的---锁
- 鸿蒙系统有哪些手机可以用,鸿蒙系统支持哪些手机型号
- Wowza 4.3.0安装和使用 并联合海康摄像头(RTSP)实现直播推流
- 多个jQuery版本如何共存
- camera中文版软件 ip_网络摄像机监控(IP Camera Viewer)下载-摄像头监控(IP Camera Viewer)官方版-华军软件园...
- 网联兴,银联苦:一文看清支付清算市场新局面的矛盾和疑惑
- 文件系统测试工具IOZONE
- 烂到不想考研!大学糟糕宿舍大盘点!
- ASP.NET 教程
- matlab newton插值,(最新整理)Newton插值法
- 家庭媒体中心NAS方案设计
热门文章
- 闲下来了,去听了一次现场音乐会
- 在大厂的数据工程师工作日常工作分享
- jQuery绑定事件监听bind和移除事件监听unbind用法实例详解
- 宝塔ftp连接不上的解决方法
- Android如何判断当前手机是否正在播放音乐,并获取到正在播放的音乐的信息
- 荣耀VNXP 5G天团全员正式出道,Play4系列空降“走花路”
- HTML5 JQuery 实现搜索匹配功能
- Linux查看光盘是否存在命令,Linux命令——光盘
- 2021年中式面点师(高级)试题及答案及中式面点师(高级)实操考试视频
- spring-oauth-server实践:授权方式三:PASSWORD模式下 authorities:ROLE_{user.privillege}, ROLE_USER...