1521: 塔防游戏

时间限制: 1 Sec  内存限制: 128 MB
提交: 117  解决: 38
[提交][状态][讨论版]

题目描述

小明最近迷上了塔防游戏,塔防游戏的规则就是在地图上建炮塔,用于防御敌军的进攻。

这里我们假设地图是一个n行m列的格子,每个炮塔只能建在格子里,这里的炮塔有点奇怪,因为它只能攻击它自己所在行和所在列的格子(包括自身),并且每两个塔既不能放在同一列也不能放在同一行;现在小明建好了cnt个塔,小明一看这cnt个塔的攻击范围刚好把地图割成了S个炮塔攻击不到的区域,因为区域太多了,小明没法数,小明想知道答案S是多少,你能帮助他吗?

输入

有多组测试数据;每组测试数据的格式如下:

第一行输入两个数n,m分别表示地图有n行m列个格子(1<=n<=100000,1<=m<=100000);

接下来一行输入一个数cnt表示小明建好的塔数(1<=cnt<=Min(n,m));

接下来的cnt行,每行输入两个数r,c表示每个塔在地图上的位置(1<=r<=n,1<=c<=m);

输出

每组测试数据输出一个数S(如上所述),占一行;

样例输入

5 5
2
2 2
3 3

样例输出

4

提示

sample的解释:如图所示,地图是一个5行5列的格子,在(2,2),(3,3)处有两个炮塔,阴影部分为这两个炮塔的攻击范围,最后地图被这两个炮塔的攻击范围分成了4个无法攻击到的区域,所以答案是4;

#include<algorithm>
#include<iostream>
#include<cstring>
#include<cstdio> using namespace std;
const int N = + ;
int x[N], y[N];
int main(){
int n, m, k;
while(scanf("%d %d", &n, &m) == ){
scanf("%d", &k);
for(int i = ; i < k; i++) scanf("%d %d", &x[i], &y[i]);
int cntx = , cnty = ; sort(x, x + k);
if(x[] != ) cntx++;
for(int i = ; i < k; i++)
if(x[i] != x[i-] + ) cntx++;
if(x[k-] == n) cntx--; sort(y, y + k);
if(y[] != ) cnty++;
for(int i = ; i < k; i++)
if(y[i] != y[i-] + ) cnty++;
if(y[k-] == m) cnty--; printf("%d\n",(cntx+) * (cnty+));
}
}

HNUSTOJ-1521 塔防游戏的更多相关文章

  1. Cocos2d-x3.x塔防游戏(保卫萝卜)从零开始(三)

    一.前提: 完成前一篇的内容. 具体参考:Cocos2d-x3.x塔防游戏(保卫萝卜)从零开始(二)篇 二.本篇目标: l  说说游戏中各种角色的动作.属性以及重构思路 l  进行代码重构让色狼大叔和 ...

  2. Cocos2d-x3.x塔防游戏(保卫萝卜)从零开始(二)

    一.前提: 完成前一篇的内容. 具体参考:Cocos2d-x3.x塔防游戏(保卫萝卜)从零开始(一)篇 二.本篇目标: l  说说关于cocos2dx手机分辨率适配 l  对前一篇完成的塔防游戏原型进 ...

  3. Cocos2d-x3.x塔防游戏(保卫萝卜)从零开始(一)

    一.前提: 完成Hello Game项目的创建编译. 具体参考:Cocos2dx.3x_Hello Game项目创建篇 二.本篇目标: l  说说关于塔防游戏的想法和思路 l  实现一个简单的塔防游戏 ...

  4. 三国塔防游戏android源码

    三国塔防游戏源码,这个游戏源码比较完整的,因为上传有20M限制,把代码工程包分开了,主文件是TFGame,其他res大家按照安卓包加进去就行,欢迎下载并交流 ,大家可以参考一下吧.<ignore ...

  5. HTML5塔防游戏——《三国塔防》 - Yorhom's Game Box

    h3{ font-size:20px; } HTML5塔防游戏--<三国塔防> 游戏介绍: <三国塔防>是一款基于HTML5和Javascript的2D塔防游戏.游戏中除了塔防 ...

  6. HTML5另类塔防游戏 -《三国战线》公布

    关于本作 游戏介绍 本游戏是一款另类塔防游戏.本作以三国这段历史为题材,提供了从颍川之战到官渡之战.官渡之战到夷陵之战.夷陵之战到五丈原之战等15个关卡.在每一个关卡中,你会控制一名三国武将与出现的敌 ...

  7. [译]终极塔防——运用HTML5从头创建一个塔防游戏

    翻译共享一篇CodeProject的高星力作,原文地址:http://www.codeproject.com/Articles/737238/Ultimate-Tower-Defense 下载演示项目 ...

  8. 使用Unity创建塔防游戏(Part2)

    How to Create a Tower Defense Game in Unity – Part 2 原文地址:https://www.raywenderlich.com/107529/unity ...

  9. 使用Unity创建塔防游戏(Part1)

    How to Create a Tower Defense Game in Unity - Part1 原文作者:Barbara Reichart 文章原译:http://www.cnblogs.co ...

随机推荐

  1. $.param()序列化对象

    1.$.param(): param() 方法创建数组或对象的序列化表示形式. 序列化的值可在生成 AJAX 请求时用于 URL 查询字符串中. 第一行是原始数据,第二行是序列化后的.$.param( ...

  2. JMS学习二(简单的ActiveMQ实例)

    下载安装ActiveMQ服务,下载地址当然可以去官网下载 http://activemq.apache.org/download-archives.html ActiveMQ安装很简单,下载解压后到b ...

  3. npm安装源修改为淘宝源

    npm安装源修改为淘宝源 标签(空格分隔): 编译 原:https://cnodejs.org/topic/4f9904f9407edba21468f31e npm安装源修改为淘宝源 镜像使用方法(三 ...

  4. nginx下的负载均衡

    负载均衡应用场景: 普通web应用部署到多台应用服务器上,客户端通过访问应用服务器发送请求,最简单的就是n对1模式,n个客户端访问同一个应用服务器,这种情况当并发量大了,就无法应对,而且,如果只有一台 ...

  5. Unity3D 协程 Coroutine

    协程(Coroutine)的概念存在于很多编程语言,例如Lua.ruby等.而由于Unity3D是单线程的,因此它同样实现了协程机制来实现一些类似于多线程的功能,但是要明确一点协程不是进程或线程,其执 ...

  6. 5.1.k8s.ConfigMap

    ConfigMap #ConfigMap用于保存配置数据的键值对,可用来保存单个属性,或配置文件 #ConfigMap创建 #使用yaml文件创建ConfigMap #cm-demo.yaml kin ...

  7. CentOS安Elasticsearch

    工作中有需求用到es做数据分析和日志搜索的,整理记录一下安装部署过程.ElasticSearch是一个基于Lucene的搜索服务器.它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful we ...

  8. CDS究竟是个什么鬼?它直接导致了次贷危机?

    周五,中国银行间市场交易商协会就确认了这一消息,信用违约互换(CDS)和信用联结票据(CLN)业务指引在今日正式发布实行. 当然,这则消息在中国普通投资者当中还没引起足够关注,但是在很多人看来CDS这 ...

  9. flask如何实现https以及自定义证书的制作

    http://blog.csdn.net/yannanxiu/article/details/70672744 http://blog.csdn.net/yannanxiu/article/detai ...

  10. ARTS-0

    ARTS的初衷 Algorithm:主要是为了编程训练和学习.每周至少做一个 leetcode 的算法题(先从Easy开始,然后再Medium,最后才Hard).进行编程训练,如果不训练你看再多的算法 ...